如何使用jQuery UI可排序来绑定stop事件?

时间:2009-09-28 00:01:01

标签: jquery jquery-ui-sortable

当我尝试使用可排序的事件时。 (例如stop()事件)只有在我使用:

绑定它时才有效
$('.selector').bind('sortstop', function(event, ui) {
  ...
});

而不是

$('.selector').sortable({
   stop: function(event, ui) { ... }
});

这件事有缺失吗?

我问的唯一原因是因为当我使用实际的bind()方法绑定时,它不会让我访问我传入的事件或ui参数。我总是返回undefined。

2 个答案:

答案 0 :(得分:1)

Hrm,如果您的函数的参数是未定义的值,那么这听起来像一个bug。要回答您的具体问题,在第一次初始化对$('.selector').sortable({ stop: function(event, ui) { ... } });的调用后,您的第二行(sortable())将无效。要在初始化调用后更改选项,请调用option方法:

$('.selector').sortable('option', 'stop', function(event, ui) { /* ... */ });

答案 1 :(得分:0)

使用可排序的

$('.selector').sortable({
   change: function(event, ui) {
        ui.placeholder.parent().children().show();
        ui.placeholder.parents("li:first").find(".sortaccordion:first").attr('src',prefix+'/img/accordionopen.gif');
    },
    stop: function(event, ui) {
        // do stuff here
    }
});

如果这不起作用那么也许你还有一些其他的问题,比如你没有加载ui可排序或你有糟糕的HTML

你有任何错误吗?