2

我试图通过将 clone() 方法绑定到双击事件来快速复制一个类。我的代码,到目前为止是:

<style type="text/css">
.draggable { float:left; clear: both; }
</style>
<script type="text/javascript">
$(function() {
    copyit = function() {
        $(this).clone().appendTo("body").css('position','absolute').draggable();
    }
    $('.draggable').dblclick(copyit);
    $('.draggable').draggable();
});
</script>

<div class="draggable">Hi There!</div>
<div class="draggable">What's up?</div>

一切正常,除了我无法让克隆的元素在添加到 DOM 后克隆自己。任何帮助是极大的赞赏。

4

2 回答 2

2

我的猜测是您没有将 dblclick 事件绑定到新的 DOM 节点。在这种情况下,您实际上有两种方法可以完成此操作:

  1. 您可以像这样使 dblclick 成为实时(或委托)事件: $('.draggable').live('dblclick', copyit); 见: http : //api.jquery.com/live/ http://api.jquery.com/delegate/

  2. 您可以通过将其传递给 true 来使克隆复制对象的事件,如下所示: $(this).clone(true).appendTo("body").css('position','absolute').draggable() ; 见: http ://api.jquery.com/clone/

于 2010-12-12T16:43:11.257 回答
1

使用以下命令设置双击处理程序.live()

$('.draggable').live("dblclick", copyit);
于 2010-12-12T16:43:56.747 回答