Jquery 将元素追加到另一个元素后的双击事件
Jquery double click event after appending element to another element
我正在使用敏捷工具包,这是一个从 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" childrens 的点击事件被调用了两次。
防止双击的方法是使用:
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代码中没有重复项。
有什么想法吗?期待感谢。
删除 clone 函数中的 true
.clone();
这将不会复制事件处理程序
我正在使用敏捷工具包,这是一个从 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" childrens 的点击事件被调用了两次。
防止双击的方法是使用:
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代码中没有重复项。
有什么想法吗?期待感谢。
删除 clone 函数中的 true
.clone();
这将不会复制事件处理程序