2011-11-16 130 views
10

如何在jquery-ui-sortable被拖拽時聆聽drag事件?jquery-ui-sortable的拖拽事件

通過點擊試用策略,我試過drag事件從jquery-ui-draggable,但它不起作用。

$('.widget_container').sortable({ 
    drag: function(event, ui) { console.log('drag'); } 
}); 

回答

26

使用sort事件用於此目的:

$(".sortable").sortable({ 
    sort: function(e) { 
     console.log('X:' + e.screenX, 'Y:' + e.screenY); 
    } 
}); 

http://jsbin.com/kegeb

+0

哇!巧妙的人。我想知道我是怎麼錯過的。 –

+1

現在很明顯,我已經看到了......哈哈。完善! – daGUY

1

如果你需要處理的事件,當用戶開始拖累,你應該使用handle而不是sort

$(".sortable").sortable({ 
    handle: function(e) { 
     console.log('Handled'); 
    } 
}); 

這一事件將發生在拖動的開始,並在頁面加載時(​​)。

我建議你也檢查這個答案,這也解釋了正確的方法,當你的名單進行更新處理您的元素:Get order of list items in a jQuery Sortable list after resort

好運

+0

我試着'處理'的方法,發現它不能區分點擊和拖動,奇怪的是,禁用點擊排序功能。 – ariebear