0

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

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

谢谢。

4

1 回答 1

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 有关。

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

于 2012-08-23T19:20:58.430 回答