2012-10-31 34 views
1

我是jQuery的初學者,我找不到解決方案:我使用Sortable與表。 但默認的重新排序方法對我不好:我不想插入拖動的項目 - 我想交換拖動項目和「當前」項目(鼠標指針所在的位置)。jQuery可排序的交換元素,而不是插入

$(".timetable").sortable({ 
    items: "td.ora", 
    sort: function(event,ui) { 
      // what should I write here? 
    }); 

我認爲應該覆蓋sort事件,但我不知道怎麼辦。

回答

4

這個問題具有可排序的解決方案(參見解決方法的問題的底部):

jQuery sortable obtain 2 elements being swapped

但我認爲更好的解決方案是可調換的插件:

http://www.eslinstructor.net/demo/swappable/swappable_home.html

+0

我看到swappable插件,但它不適合我,你可以檢查eg主頁上的列表演示:多次不能交換兩個元素。在我的情況*從不*可以交換...我會看到第一種方法。 – uzsolt

+0

可插拔插件爲我工作得很好。您必須自己定義可拖動項目,並確保光標不在您拖動的項目上方,否則它將無法工作。 '$('#my-list')。swappable({items:'li',cursorAt:{top:-10}});'。這個插件是一個真正的jQuery UI插件,所以它也會接受所有的deafult ui參數和事件。 –