【问题标题】:How to remove jQuery UI sortable from an element?如何从元素中删除可排序的 jQuery UI?
【发布时间】:2012-10-14 23:36:24
【问题描述】:

我正在将 sortable 绑定到这样的元素:

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

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

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

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

【问题讨论】:

  • 不知道为什么它被关闭为重复,它不应该。这个问题是关于反转 $.fn.sortable 对元素所做的任何事情。 “重复”是关于防止子元素被排序。两个不同的问题。

标签: javascript jquery jquery-ui


【解决方案1】:

是的,它 su**s :-( 这会在 1 秒后删除功能 css 类/注入跨度(销毁似乎只是杀死小部件,而不是添加的类或标签)

$('#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").sortable("destroy"); 确实实际上破坏了可排序功能,只是忘记清理了。

【讨论】:

    【解决方案2】:

    如果你想禁用可排序,那么试试这个:

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

    并启用返回

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

    【讨论】:

    • 以可排序的方式传递破坏,如下所示
    猜你喜欢
    • 2013-11-02
    • 2012-01-11
    • 2012-06-26
    • 2020-11-03
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    相关资源
    最近更新 更多