我试图通过将clone() 方法绑定(bind)到双击事件来快速复制类。到目前为止我的代码是:
<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 后我无法克隆它们自己。非常感谢任何帮助。
最佳答案
我的猜测是您没有将 dblclick 事件绑定(bind)到新的 DOM 节点。在这种情况下,您实际上有两种方法可以实现此目的:
您可以将 dblclick 设为实时(或委托(delegate))事件,如下所示: $('.draggable').live('dblclick', copyit); 看: http://api.jquery.com/live/ http://api.jquery.com/delegate/
您可以通过传递 true 来使克隆复制对象的事件,如下所示: $(this).clone(true).appendTo("body").css('position','absolute').draggable(); 看: http://api.jquery.com/clone/
关于JQuery:将行为转移到克隆对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4422312/