6

$('div.something').sortable(options)工作正常,但在$('div.something').unbind();. 尝试重新运行$('div.something').sortable(options);$('div.something').sortable('refresh');之后$('div.something').unbind();没有帮助。

我正在使用 $.unbind 通过从应用插件的元素中删除事件来停用/取消启动插件,但是这种技术会产生不利影响,因为它会破坏 $.sortable。关于如何重新激活可排序的任何想法?

我正在使用最新版本的 jQuery 和 jQuery UI。

4

2 回答 2

9

在调用.sortable('destroy')之前调用.unbind()将完全从元素中删除可排序功能。

这可以确保在执行有点危险的调用之前进行适当的拆卸.unbind(),这会删除元素上的所有绑定处理程序。然后,您可以重新初始化可排序功能。

// Initialization of the sortable feature
$('div.something').sortable(options);
...
// Remove the sortable feature to prevent bad state caused by unbinding all
$('div.something').sortable('destroy');
// Unbind all event handlers!
$('div.something').unbind();
...
// Re-initialize the sortable feature
$('div.something').sortable(options);
于 2013-03-17T05:06:42.650 回答
7

If you want to deactivate the sortable plugin I recommend using destroy method

$('div.something').sortable(options)//Activate
....
$('div.something').sortable('destroy')//Remove the plugin functionality
....
$('div.something').sortable(options)//Reactivate

Demo: Fiddle

于 2013-03-17T04:00:21.717 回答