将元素附加到另一个元素后,Jquery双击事件

时间:2016-11-04 09:32:17

标签: javascript jquery append clone agiletoolkit

我正在使用敏捷工具包,这是一个从PHP生成javascript代码的框架。我有一个div元素(我称之为" top-element"),其中包含一些其他div元素,一些按钮。 我想移动" top-element"到另一个元素,改变它的父母。

我尝试过类似的事情:

$('#top-element').appendTo($('#new-parent'));

但问题是" top-element"有一些孩子有点击事件,一些按钮。在我追加" top-element"到一个新元素(在更改它的父元素之后),点击事件被触发两次。

我尝试克隆元素并将克隆元素追加到新父元素:

var cloned_top_element = $('#top-element').clone(true);
cloned_top_element.appendTo($('#new-parent'));

我遇到了同样的问题," top-element"上的点击事件孩子们被叫了两次。

防止双击的方法是使用:

unbind('click') or off('click')

我尝试过类似的事情:

$('#new-parent').find('.children-class').unbind('dblclick').unbind('click');

但仍然没有结果。

子按钮的绑定是这样的:

$('.children-class').bind('click',function(ev){ ev.preventDefault();ev.stopPropagation(); other stuff });

绑定功能只出现一次。 js代码中没有重复。

有什么想法吗?期待的感谢。

1 个答案:

答案 0 :(得分:0)

删除clone函数true中的.clone();,这不会复制事件处理程序