使用jQuery复制/粘贴元素

时间:2014-01-31 01:50:36

标签: javascript jquery function canvas copy-paste

我有一个div,当我点击一个按钮时,我会追加到另一个div。我也在创建的div上调用了一堆函数。

HTML

<a onClick="drawRect();">Rect</a>

JS

function drawRect(){
    var elemRect = document.createElement('div');
    elemRect.className = 'elem elemRect';
    elemRect.style.position = "absolute";
    elemRect.style.background = "#ecf0f1";
    elemRect.style.width = "100%";
    elemRect.style.height = "100%";
    elemRect.style.opacity = "100";

    renderUIObject(elemRect);

    $('.elemContainer').draggableParent();

    $('.elemContainer').resizableParent();

    makeDeselectable();

    handleDblClick();
}



var createDefaultElement = function() {
    ..
    ..
};

var handleDblClick = function() {
    ..
    ..
};

var renderUIObject = function(object) {
    ..
    ..
};

var makeDeselectable = function() {
    ..
    ..
};

我可以在浏览器检测到keydown事件时克隆该元素

$(window).keydown(function(e) {
  if (e.keyCode == 77) { 
    $('.ui-selected').clone();
    return false;
  }
});

然后将其附加到#canvas。但问题是,上面提到的所有函数都没有用这种方法调用。

如何复制/粘贴元素(通过按CMD + C然后按CMD + V)并在克隆元素上调用上述函数?

1 个答案:

答案 0 :(得分:0)

jQuery.clone方法返回克隆节点。因此,您可以调整代码以执行以下操作:

var myNodes = $('.ui-selected').clone();
myNodes.each(function () {
    createDefaultElement(this);
    appendResizeHandles(this);
    appendOutline(this);
});