jQuery嵌套可排序 - 复制而不是在两个列表之间移动项目

时间:2012-08-23 18:33:01

标签: jquery nested draggable jquery-ui-sortable nested-sortable

我正在使用一个应用程序,您可以在两个嵌套的可排序项之间拖放列表项:http://jsfiddle.net/jhogervorst/Ge7eK/9/

我的问题是你如何更改代码,以便将元素从一个列表复制到另一个列表,而不是移动它们?似乎是一个简单的改变,但我无法弄清楚。

感谢。

1 个答案:

答案 0 :(得分:2)

我在那里大部分时间都得到了它:

http://jsfiddle.net/Ge7eK/41/

receive: function(event, ui){
    var ele = document.elementFromPoint(ui.position.left, ui.position.top);
    var newEle = ui.item.clone();        
    newEle.attr("id", ""); // trying to prevent duplicate ids
    $(ele).after(newEle);            
},

remove: function(event, ui){
    event.preventDefault(); // this stops the item from being removed
}

当您将项目从列表A拖到列表B时,会发生错误,然后将列表A中的其他项目拖到该复制的项目上。我不确定它为什么会发生,但它可能与您正在使用的ID有关。

此外,跌落位置可能有点挑剔。如果占位符项位于列表中的两个项目之间(而不是略微重叠),则会将该项目添加到列表的末尾。