4

这是否可以禁用 'sortable' 元素上的排序但 sort 仍然适用于 'connectWith' ?

4

4 回答 4

3

如果 list1 中的元素没有放在 list2 上,这会将它返回到它的原始位置(我称之为自删除)。

$("#list1").sortable({
    connectWith: ".connected-fields",
    beforeStop: function(event, ui) {
        // Don't allow resorting in list1... would call cancel here, but there is a jquery 1.7 bug so we
        // need to do the check here but do the cancel in "stop" below. @see http://bugs.jqueryui.com/ticket/6054
        $(this).sortable("option", "selfDrop", $(ui.placeholder).parent()[0] == this);
    },
    stop: function(event, ui) {
        var $sortable = $(this);
        if ($sortable.sortable("option", "selfDrop")) {
            $sortable.sortable('cancel');
            return;
        }
    }
});

$("#list2").sortable({
    connectWith: ".connected-fields"
});
于 2014-05-01T19:23:56.263 回答
0

然后我将删除原始的可排序逻辑,并应用一个附加到单个可排序的类。因此,例如,对于要排序的两个列表,您有三个函数。如果一个是 sort=disabled,则删除具有选项 conenctWith 的可排序类,并将单个排序类应用于您连接的列表。如果要停止那个,那么对另一个做同样的事情。

例子:

$('sortBoth').sortable({connectWith: $('.sortListToConnect)});

$('.sortList2').sortable();

$('.sortList3').sortable();

根据您需要它的功能,相应地将类删除或添加到每个列表中。一个简单的方法来处理它。希望我以快速的方式表达得足够清楚。快乐编码:)

于 2013-05-03T02:43:07.360 回答
-1

您可以从自排序中取消左列中的项目,并且仍然将它们用于 connectWith

http://api.jqueryui.com/sortable/#option-cancel

于 2013-01-25T10:10:18.027 回答
-1

您可以尝试以下代码disable sortable

$( ".selector" ).sortable( "disable" );

您可以从此链接了解更多信息

还有这个链接方法disable

于 2013-01-13T17:46:15.323 回答