jquery - 克隆 Jquery 可拖动对象也会拖动其原始对象

标签 jquery clone draggable

我正在创建一个事件生成器创作工具。用户使用右键单击菜单可以选择向页面添加多个元素,并对其中一些元素填充文本。

使用 Jquery UI,所有元素均可拖动,部分元素可调整大小。我希望用户能够制作元素的精确副本,但是当我使用克隆功能时,我得到了奇怪的结果。我可以将原件拖离克隆,但是当我尝试拖动克隆时,它只会拖动原件并保持在其位置。

这是我的代码

    function addobject (element_type){
       $('#activitystage').append($("<div class=\"draggable " + element_type + "\" id=\"" + counter + "\"></div>")); 
       $( "#" + counter ).multidraggable({ containment: "#activitystage",  grid: [10, 10],drag: function(event,ui){ showpositions(); }});   
       $('#' + counter).contextMenu({menu: 'functionsMenu'  }, function(action, el, pos) {run(action, el);  });
       $('#' + counter).append("<textarea class=\"" + element_type + "\"></textarea>");
    }

    function run (action, el){
       switch (action){
            case "clone":
              $(el).clone(true).attr('id', 'some new id').appendTo('#activitystage');
              break;
}

最佳答案

我能想到的解决您的问题的最简单方法是简单地使用clone(false)并重新绑定(bind)拖放事件。

试试这个代码

var attr = { containment: "#activitystage",  grid: [10, 10],drag: function(event,ui){ showpositions(); }};

function addobject (element_type){
    $('#activitystage').append($("<div class=\"draggable " + element_type + "\" id=\"" + counter + "\"></div>")); 
    $( "#" + counter ).multidraggable(attr);   
    $('#' + counter).contextMenu({menu: 'functionsMenu'  }, function(action, el, pos) {run(action, el);  });
    $('#' + counter).append("<textarea class=\"" + element_type + "\"></textarea>");
}

    function run (action, el){
       switch (action){
            case "clone":
              $(el).clone(false).attr('id', 'some new id').appendTo('#activitystage').multidraggable(attr);
              break;
}

关于jquery - 克隆 Jquery 可拖动对象也会拖动其原始对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8154532/

相关文章:

jquery - 复选框和文本字段 jQuery

javascript - 自动完成搜索...?可能使用 jquery?

javascript - 如何克隆多维数组?

java - 拷贝构造函数创建依赖拷贝

使用包含时,带有 margin-left 的 jQuery 可拖动元素不会向左移动

javascript - 如何在文档就绪时模拟单击事件?

javascript - 在调整大小时,将 li 从嵌套的 ul 移动到顶级 ul 会创建很多 lis

iOS - MKMapView - 可拖动注释

java - 使用比较器作为嵌入类,母类(在克隆中初始化)字段在比较方法中不可见

jquery - 如何将图像拖放到容器中,然后根据拖入的内容更新容器?