【问题标题】:jQuery Nested Sortable - Copying rather than moving items between 2 listsjQuery Nested Sortable - 在 2 个列表之间复制而不是移动项目
【发布时间】:2012-08-19 08:13:54
【问题描述】:

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

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    我已经了解了大部分情况:

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

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

    【讨论】:

    • 我应该注意我正在使用elementFromPoint,因为我在可用的回调参数中找不到可排序插件使用的插入点。
    • 哇,谢谢。这似乎可以很好地确保 from 元素被复制,而不是移动。我也在尝试找出 drop 错误,但非常感谢。
    • @JeffFuller 我建议不要在该模式中声明 id,除非完全有必要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多