jquery.ui 中sortable list 的定位問題

最近在做的ui遇到了這個問題。ui 大概長這樣:

使用者可以從左邊把element 拖曳到右邊的某個故事盒內。然後故事盒內的物件還可以透過拖曳重定順序。這個東西用了到jqury.ui 的sortable 功能。  故事盒的外層還用了一個div 包起來(overflow=scroll),來達到捲軸的效果。

不過後來發現,右邊的sortable list 在ie中(6,7) 會相對定位!! 也就是說當捲軸往下拉的時候,這些element 就跟著往下移動(畫面上看起來就像是固定在某個位置…) =.=  這怎麼會對呢? 後來trace 程式碼 發現在 ui.sortable.js(rev.5143)  中的第73行左右有一行長這樣:

if(!(/(relative|absolute|fixed)/).test(this.element.css('position'))) this.element.css('position', 'relative')

一般來說預設值是static(參考資料),所以嘛,你可以選擇註解掉,或是加上static 的判斷( 這樣跟註解掉有何不同XD)

這問題大概出在ie 跟 firefox/safari 對於position=relative這東東的解讀不同吧!

2 thoughts on “jquery.ui 中sortable list 的定位問題

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s