jQuery UI Sort - 两个列表并阻止可排序的内部原始列表

Müs*_*sli 6 jquery jquery-ui

我有一个简单的jquery ui示例.基本上我必须列出项目,每个项目都是可排序的.我想要完成的是:取消对同一列表的排序.举个例子,如果我点击列表1上第一个位置的元素,然后将其拖到位置6,然后删除.我想阻止它,但如果我放下第二列中的元素,那没关系.

我不知道如何指定,以适应我的requeriments.ConnectWith似乎还不够:

$("#sortable").sortable({
    connectWith: [$('#sortable2')]
});

$("#sortable2").sortable({
    connectWith: [$('#sortable')]
});
Run Code Online (Sandbox Code Playgroud)

这是一个例子:

http://jsfiddle.net/sQeZE/3/

Exp*_*lls 2

这可能不完全是您正在寻找的内容,但您可以绑定到receivestop事件(它们按该顺序触发)。 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)

http://jsfiddle.net/sQeZE/5/