Javascript 删除元素,但保留所有数据和事件绑定
我有一个容器,可以注入页面上任何指定的容器中(如弹出窗口)。弹出窗口应该有一个删除父元素的按钮。我尝试使用Javascript 删除元素,但保留所有数据和事件绑定,javascript,jquery,Javascript,Jquery,我有一个容器,可以注入页面上任何指定的容器中(如弹出窗口)。弹出窗口应该有一个删除父元素的按钮。我尝试使用.remove()删除父元素,但它也会删除弹出窗口及其事件。我希望它删除弹出窗口(我仍然有引用),但是,我不希望.remove取消绑定事件 到目前为止,我得到了: var popup = $('#popup'); $('body > div').on('click', function () { popup.appendTo($(this)); }); popup.find
.remove()
删除父元素,但它也会删除弹出窗口及其事件。我希望它删除弹出窗口(我仍然有引用),但是,我不希望.remove
取消绑定事件
到目前为止,我得到了:
var popup = $('#popup');
$('body > div').on('click', function () {
popup.appendTo($(this));
});
popup.find('button').on('click', function () {
$(this).closest('div:not(#popup)').remove();
});
基本上,有没有一种方法可以删除元素而不删除其数据或事件
谢谢大家的关注
备注:我试图在正文中添加和隐藏弹出窗口,但这不是我需要的。您可以使用
除了.detach()之外,该方法与相同
保留与删除的元素关联的所有jQuery数据。这
方法在将删除的元素重新插入到中时非常有用
DOM在以后的时间
还可以使用返回值将detach元素附加到DOM中:
var div = $("div").detach();
$(div).appendTo("body");
基本上你似乎在要求