我使用JqueryUI有三个连接的可排序列表:list1,list 2和list 3.列表1中的特定项目具有类number
。如果这些number
项被拖动,那么它们只能被放入列表2但不会被放入列表3.如何找出我要放入哪个列表?
$("#list1").sortable({
start: function(event, ui) {
beforeStop: function (event, ui) {
if ($(ui.item).hasClass("number")) {
//Check which list is targeted
//If List 3 then
//$(List 3).sortable('cancel');
//End If
}
}
}
});
答案 0 :(得分:0)
您可以检查更新事件中的项目。来自jQuery文档:
当用户停止排序并且DOM位置发生变化时,会触发此事件。
这样的事可能适合你:
update: function (e, ui) {
var target = ui.item;
var parent = item.closest('ul');
if (parent.hasClass('thirdList')) {
// do stuff
}
else {
// do stuff
return false;
}
}
根据我对您的情况的理解,我认为没有必要检查班级number
,因为您只允许对具有班级number
的项目进行排序。 / p>
修改强>
如果您根本不希望能够拖入列表3,那么您可以在页面加载时将其排序并使其他列表可排序:
$(function () {
$('#list1').sortable({
items: '.number'
});
$('#list2').sortable();
});