2011-11-16 137 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