2016-11-04 85 views
0

我正在使用敏捷工具包,一个从PHP生成JavaScript代码的框架。我有一个div元素(我称之为“top-element”),它包含一些其他的div元素,一些按钮。 我想将“顶级元素”移动到另一个元素,以更改它的父级。将元素附加到另一个元素后的Jquery双击事件

我想是这样的:

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

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

我试图克隆元素和克隆的元素添加到新的父:

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

我得到了同样的问题,在“顶级元素”儿童click事件被称为两次。

防止双击的方法是使用:

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代码中没有重复。

任何想法?预计感谢。

+0

你是如何在第一时间结合的Click事件? –

+0

你能在jsfiddle中复制这个错误吗? – madalinivascu

+0

不,因为我有一个框架,并有很多自定义代码。 – Pascut

回答

0

clone功能.clone();这取出true不会复制事件处理程序

+0

我也试过这个。点击事件还有两个触发器。 – Pascut

+0

你能在jsfiddle中复制这个错误吗? – madalinivascu

+0

不,因为我有一个框架,并且有很多自定义代码。关于点击事件的js是由框架生成的。但是是有效的js代码。 – Pascut

相关问题