首先,这可能是以下内容的重复:reject invalid sortable item in a sortable list
要回答您的问题,可以这样做,而不是按照您开车的方式。这是您的示例代码中的一个工作示例:https ://jsfiddle.net/Twisty/56kfcba5/
HTML
<ul id="list0" class="source">
<li id="item-1" data-connect="list1">ITEM 1</li>
<li id="item-2" data-connect="list2">ITEM 2</li>
</ul>
<ul id="list1" class="target"></ul>
<ul id="list2" class="target"></ul>
请记住,所有 ID 都应该是唯一的。
CSS
.source,
.target {
border: 1px solid #000;
min-height: 20px;
max-width: 200px;
}
jQuery
$(function() {
$('.source').sortable({
connectWith: '.target',
revert: true
});
$(".target").sortable({
receive: function(e, ui) {
if (ui.item.data("connect") !== $(this).attr("id")) {
// reject the item
ui.sender.sortable('cancel');
}
}
})
});
就像我链接到的文章一样,我们比较列表收到source
时的项目。target
在这种情况下,该connectTo
选项也可以设为单向。通过这种方式,我们设置了不接受特定项目的目标。