如何从元素中删除可排序的jQuery UI?

TK1*_*123 9 javascript jquery jquery-ui

我绑定到像这样的元素可绑定:

$('#elem').sortable({
   items: 'li',
   placeholder: 'drop-highlight',
   forcePlaceholderSize: true,
   revert: true
});
Run Code Online (Sandbox Code Playgroud)

在某个事件上,我想不再允许这个元素可以排序.我如何解开它?

所有这些都是单独尝试而且都失败了(即#elem之后仍然可以排序):

$('#elem').unbind('sort');
$('#elem').sortable('destroy');
$('#elem').sortable('option', 'sort', null);
Run Code Online (Sandbox Code Playgroud)

dav*_*rad 7

是的,它是su:s :(这删除了1秒后的功能 css类/注入的跨度(破坏显然只是杀死小部件,而不是添加的类或标签)

$('#elem').sortable({
   items: 'li',
   placeholder: 'drop-highlight',
   forcePlaceholderSize: true,
   revert: true
});
Run Code Online (Sandbox Code Playgroud)

当您需要"无法排序"列表时,将此代码放在处理程序中

function() {
    $("#elem").sortable("destroy"); //call widget-function destroy
    $("#elem li").removeClass('ui-state-default');
    $("#elem li span").remove();
}
Run Code Online (Sandbox Code Playgroud)

$( "#ELEM")排序( "破坏").确实破坏了可排序的功能,它只是忘了清理.


Vis*_*h G 5

如果您想禁用可排序,请尝试以下操作:

$("#elem").sortable("disable");
Run Code Online (Sandbox Code Playgroud)

并启用返回

$("#elem").sortable("enable" );
Run Code Online (Sandbox Code Playgroud)