我正在尝试通过将clone()方法绑定到doubleclick事件来快速创建类的副本。到目前为止,我的代码是:
<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后无法克隆自己。非常感谢任何帮助。
答案 0 :(得分:2)
我的猜测是你没有将dblclick事件绑定到新的DOM节点。在这种情况下,您实际上有两种方法可以实现此目的:
您可以使dblclick成为一个实时(或委托)事件,如下所示: $('。draggable')。live('dblclick',copyit); 看到: http://api.jquery.com/live/ http://api.jquery.com/delegate/
您可以通过将其传递为true来使克隆复制对象的事件,如下所示: 。$(本).clone(真).appendTo( “身体”)的CSS( '位置', '绝对')可拖动(); 看到: http://api.jquery.com/clone/
答案 1 :(得分:1)
使用.live()
设置双击处理程序:
$('.draggable').live("dblclick", copyit);