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

时间:2012-10-14 23:36:24

标签: javascript jquery jquery-ui

我可以对像这样的元素进行排序绑定:

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

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

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

$('#elem').unbind('sort');
$('#elem').sortable('destroy');
$('#elem').sortable('option', 'sort', null);

2 个答案:

答案 0 :(得分:7)

是的,它是su:s :(这会在1秒后删除 css类/注入的跨度的功能(显然只是销毁小部件,而不是添加的类或标签)< / p>

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

当您需要“无法排序”列表

时,将此代码放在处理程序中
function() {
    $("#elem").sortable("destroy"); //call widget-function destroy
    $("#elem li").removeClass('ui-state-default');
    $("#elem li span").remove();
}

$( “#ELEM”)排序( “破坏”)。 实际上会破坏可排序的功能,它只是忘记清理。

答案 1 :(得分:2)

如果要禁用sortable,请尝试以下操作:

$("#elem").sortable("disable");

并启用后退

$("#elem").sortable("enable" );