这是否可以禁用'sortable'元素的排序但排序仍然可以使用'connectWith'?
答案 0 :(得分: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"
});
答案 1 :(得分:0)
然后我会删除原始的可排序逻辑,并应用附加到单个可排序的类。因此,例如,您要排序的两个列表有三个函数。如果sort = disabled,则删除具有conenctWith选项的可排序类,并将单个排序类应用于您连接的列表。如果要停止那个,那么对另一个做同样的事。
示例:
$('sortBoth').sortable({connectWith: $('.sortListToConnect)});
$('.sortList2').sortable();
$('.sortList3').sortable();
相应地删除或添加每个列表的类,以了解它的运行方式。一种处理它的简单方法。希望我能够以一种快速的方式表达清楚。快乐的编码:)
答案 2 :(得分:-1)
答案 3 :(得分:-1)
您可以从自我排序中取消左列中的项目,并仍然将它们用于connectWith