我正在使用jQuery UI链接多个列表,并允许在不同列表之间拖放项目。
在receive
事件中,我想获取项目被放入的列表。ui.item.parent()
是正确的方法,还是有ui
的属性或event
我可以直接访问此内容吗?
<ul><li>item 1</li></ul>
<ul><li>item 2</li></ul>
$('ul').sortable({
connectWith: 'ul',
receive: function(event, ui) {
var targetList = ui.item.parent();
}
});
答案 0 :(得分:8)
不,新父母没有直接属性(因为.parent()
可能很容易),所以你拥有的是正确的。 You can view all the ui
properties here
如果你想要.closest()
,第二个父母等等......最好让UI保持苗条,因为它们很容易遍历;这也节省了直接在ui
对象上提供引用的费用。
答案 1 :(得分:8)
由于在接收列表中调用receive
事件,您可以通过$(this)
获取新父项。源列表可通过ui.sender
访问。
$('ul').sortable({
connectWith: 'ul',
receive: function(event, ui) {
var sourceList = ui.sender;
var targetList = $(this);
}
});