Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拖动克隆元素(ui.draggable.clone())将拖动原始元素(jquery)_Jquery_Jquery Ui_Draggable_Jquery Ui Draggable_Jquery Draggable - Fatal编程技术网

拖动克隆元素(ui.draggable.clone())将拖动原始元素(jquery)

拖动克隆元素(ui.draggable.clone())将拖动原始元素(jquery),jquery,jquery-ui,draggable,jquery-ui-draggable,jquery-draggable,Jquery,Jquery Ui,Draggable,Jquery Ui Draggable,Jquery Draggable,我有两列可拖动的li元素。当我将一个元素从一列拖动到另一列时,我需要克隆被拖动的元素并将其附加到新列(我希望该元素也保留在前一列中) 后降功能为 window.afterDrop = function (u, ls) { var c = u.draggable.clone(true, true); var d = jQuery('.onestrip', ls); d.append(c); } 现在,当我拖动另一列中新添加的元素时,会拖

我有两列可拖动的li元素。当我将一个元素从一列拖动到另一列时,我需要克隆被拖动的元素并将其附加到新列(我希望该元素也保留在前一列中)

后降功能为

      window.afterDrop = function (u, ls) {
      var c = u.draggable.clone(true, true);
      var d = jQuery('.onestrip', ls);
      d.append(c);
      }
现在,当我拖动另一列中新添加的元素时,会拖动上一列中的旧元素。如何将单独的DragTable附加到被拖动的元素(我尝试禁用,然后再次附加DragTable,但仍然相同)

编辑: 我做了一个类似的情况,看看这个链接。。。。
尝试将红色框拖放到绿色框中。然后再次尝试拖动先前放置的红色框。。。拖动事件未附加到已拖放的红色框…我已尝试将事件附加到已拖放的框,但它仍然引用原始的红色框

我相信它的行为是这样的,因为您正在使用可拖动的数据和事件克隆新的附加元素

尝试使用
clone()
而不是
clone(true,true)
,并初始化新元素上所需的数据和事件,而不是将它们全部克隆


这就是你想要的行为吗

已将“ID”测试更改为“class”,并进行了一些调整

我已经更新了你的代码


您是否尝试过使用helper:“克隆”??我尝试过,但不起作用。。我想我们一降落就被摧毁了。。克隆它也不能为mecan提供解决方案,因为它提供了一个js提琴。i’我不确定我是否理解你的问题。将红色框拖到绿色框中,再次尝试拖动先前拖动的块。在我的原始代码中,所有拖动的块都是按类选择的。。我知道克隆id为的元素将不稳定。。但这仍然不能解决我的问题。。附加的事件没有被克隆,如果我们使用克隆(true,true),那么它就不起作用..无论如何,感谢您花时间响应我恐怕以前有很多事件附加到具有大型功能的元素。。。我还在想办法,但如果没有办法的话,我必须走那条路…谢谢你的回复
      window.afterDrop = function (u, ls) {
      var c = u.draggable.clone(true, true);
      var d = jQuery('.onestrip', ls);
      d.append(c);
      }
drop:function(e,u){
    var a=u.draggable.clone();
    a.removeAttr('id'); // Remove the id attribute, no dup 'id'
    initialize(a);      // Create an initialize function, or do it in here
    console.log(e.target)
    $(this).append(a);
}