簡體   English   中英

刪除元素,但保持所有數據和事件綁定

[英]Remove element, but keep all data and events bind

我有一個容器可以注入頁面上的任何指定容器(如彈出窗口)。 彈出窗口應該有一個刪除父元素的按鈕。 我嘗試使用.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();
});

http://jsfiddle.net/volter9/0zms29g1/

基本上,有沒有辦法刪除元素而不刪除其數據或事件?

感謝您的關注!

PS:我試圖在身體上追加並隱藏彈出窗口,但這不是我需要的。

你可以使用.detach()

.detach()方法與.remove()相同,除了.detach()保留與刪除的元素關聯的所有jQuery數據。 當刪除的元素稍后要重新插入DOM時,此方法很有用。

您還可以使用返回值將detach元素附加到DOM:

var div = $("div").detach();

$(div).appendTo("body");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM