0

我正在使用敏捷工具包,这是一个从 PHP 生成 javascript 代码的框架。我有一个 div 元素(我称之为“顶级元素”),其中包含一些其他 div 元素,一些按钮。我想将“顶级元素”移动到另一个元素,以更改它的父元素。

我试过类似的东西:

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

但问题是“顶级元素”有一些有点击事件的孩子,一些按钮。在我将“顶部元素”附加到一个新元素之后(在更改它的父元素之后),点击事件被触发两次。

我试图克隆元素并将克隆的元素附加到新的父元素:

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

我遇到了同样的问题,“顶级元素”儿童的点击事件被调用了两次。

防止双击的方法是使用:

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 });

bind 函数只出现一次。js代码中没有重复。

有任何想法吗?期待感谢。

4

1 回答 1

0

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

于 2016-11-04T09:40:00.993 回答