jquery clone无法创建重复元素

时间:2015-07-11 08:45:44

标签: jquery clone shapeshift

我正在使用shapeshift插件来创建一个用户界面,允许将某些图像从容器中删除到另一个容器中。子容器允许从父容器中将图像放入其中。当图像从父容器拖到子容器时,我想在父容器中创建一个副本(dragClone设置为true),因为我不想丢失此容器上的信息。这样我可以多次将同一图像从父容器拖到子容器中并生成副本。

但是,我的问题是这些图像附有悬停侦听器。创建shapeshift克隆时,我不想丢失悬停监听器。因此,我分析了shapeshift代码,发现了这个:

if (drag_clone) {
    $clone = $selected.clone(false, false).insertBefore($selected).addClass(clone_class);
}

并将其更改为以下内容:

if (drag_clone) {
    //changed clone type to add data and events
    $clone = $selected.clone(true, false).insertBefore($selected).addClass(clone_class);
}

这很好,因为创建了克隆并且悬停侦听器在克隆(保留在父容器上)和原始元素(移动到子容器)上都可以工作。

但是,我现在发现的问题是,我无法生成新的克隆。在第一次拖动图像后,如果我尝试再次将同一图像从父容器拖到子容器中,则先前拖动的图像(之前拖动到子容器中)将消失。

这是jquery克隆功能的一些问题吗? 谢谢!

修改 我想我知道问题可能是什么。当拖动到子容器时,我们实际上是移动原始元素。这导致,当再次选择克隆元素时,原始元素将被替换。我还添加了delete funcitonality,当从子容器中删除时,我根本无法拖动相同的元素。 我想这只是拖动克隆而不是原始元素的问题......

0 个答案:

没有答案