我遇到了同樣的問題,並認爲我應該找出是什麼原因造成的。
這是因爲他們對待浮動元素的方式不同,並且還應該在行內塊上進行區分。
試試這個補丁:
jQuery.ui.sortable.prototype._create = function() {
var o = this.options;
this.containerCache = {};
this.element.addClass("ui-sortable");
//Get the items
this.refresh();
//Let's determine if the items are floating, treat inline-block as floating as well
this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) || this.items[0].item.css('display') == 'inline-block' : false;
//Let's determine the parent's offset
this.offset = this.element.offset();
//Initialize mouse events for interaction
this._mouseInit();
};
這是特別該行:
this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) || this.items[0].item.css('display') == 'inline-block' : false;
這改變默認的行爲。這是一個遲到的答案,但我無法在網絡上找到任何其他答案,所以我認爲這將有助於很多人。
我會嘗試提交修正此問題的jQuery的修補程序請求,但從1.8.9開始,這仍然是一個問題。
WOW你是天才,使用你的補丁顯示後:內聯塊的拖放工作速度浮動:左 感謝張貼它,真的很感激它。隊友的歡呼聲! – Aman 2011-02-05 23:44:00
很高興我能幫到你。留意這張票:http://bugs.jqueryui.com/ticket/6942找出他們何時修復它的來源。 – jishi 2011-02-06 11:06:39
發現有點類似的問題,http://bugs.jqueryui.com/ticket/8872。通過將float添加到.ui-draggable拖動來解決它 – 2012-11-30 10:48:31