为什么sort是jQuery UI .sortable()触发的唯一事件?

时间:2010-12-17 02:48:30

标签: javascript jquery jquery-ui jquery-ui-sortable

我有一个简单的代码示例@ http://jsbin.com/ukiwo3/edit

它有2个连接列表和一组绑定事件。我希望我错过了基于http://jqueryui.com/demos/sortable/事件的简单事件我认为当我拖动并重新排序问题时,我应该会看到所有这些事件被触发。目前只将日志排序到控制台。

任何人都可以告诉我什么是错的以及如何解决其他问题?

谢谢, 丹尼斯

2 个答案:

答案 0 :(得分:5)

绑定时事件的命名方式不同,例如sortstart而不是startLook at the list of events on the demo page以获取您的绑定应该是什么的完整列表。

总体而言,it should look like this

$( ".questions" ).bind( "sortstop", function(event, ui) {
  console.log("stop event");
});
$( ".questions" ).bind( "sortstart", function(event, ui) {
  console.log("start event");
});
$( ".questions" ).bind( "sortchange", function(event, ui) {
  console.log("change event");
});
$( ".questions" ).bind( "sort", function(event, ui) {
  console.log("sort event");
});
$( ".questions" ).bind( "sortremove", function(event, ui) {
  console.log("remove event");
});
$( ".questions" ).bind( "sortout", function(event, ui) {
  console.log("out event");
});
$( ".questions" ).bind( "sortover", function(event, ui) {
  console.log("over event");
});
$( ".questions" ).bind( "sortupdate", function(event, ui) {
  console.log("update event");
});

(未优化,仅显示事件名称)

答案 1 :(得分:0)

我做了这个,我看到停止事件被触发:

$('.questions').sortable({ 
        axis: 'y', 
        connectWith: ".questions",
        placeholder: "question-highlight",
        stop:function(event, ui) {
         console.log("stop event");
        }
});

在我看来,这些“事件”无法通过bind访问。