是否有一种聪明的方法来获取jQueryUI中的可排序目标

时间:2010-12-12 03:41:38

标签: jquery jquery-ui-sortable

我正在使用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();
    }
});

2 个答案:

答案 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);
    }
});