我有一个简单的jquery ui示例.基本上我必须列出项目,每个项目都是可排序的.我想要完成的是:取消对同一列表的排序.举个例子,如果我点击列表1上第一个位置的元素,然后将其拖到位置6,然后删除.我想阻止它,但如果我放下第二列中的元素,那没关系.
我不知道如何指定,以适应我的requeriments.ConnectWith似乎还不够:
$("#sortable").sortable({
connectWith: [$('#sortable2')]
});
$("#sortable2").sortable({
connectWith: [$('#sortable')]
});
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
这可能不完全是您正在寻找的内容,但您可以绑定到receive和stop事件(它们按该顺序触发)。 receive表示从另一个列表接收到一个列表项。触发此操作后,您可以暂时取消阻止排序。 stop始终尝试阻止排序:
var blocksort = true;
//Using jQuery 1.6.4, but use `.on` when available
$("#sortable, #sortable2").bind('sortreceive', function () {
blockSort = false;
}).bind('sortstop', function (e) {
if (blockSort) {
e.preventDefault();
}
blockSort = true;
});
Run Code Online (Sandbox Code Playgroud)