如何使用事件处理程序从dom树中删除元素

时间:2012-10-29 02:37:24

标签: javascript javascript-events

这是我要删除的元素:

<div id="tobeRemoved">
    <div class="eventAttached"></div>
    <div>
        <div class="eventAttached"></div>
    </div>
</div>

它的孩子可能有附加事件。

现在我想将它从dom树中删除,我知道我可以使用它:

var ele=document.getElementById("tobeRemoved");
ele.parentNode.removeChild(ele);

但事件怎么样?它们是否同时被清除?

BTW,我更喜欢跨浏览器解决方案。

2 个答案:

答案 0 :(得分:1)

如果你知道事件类型,你可以试试这个:

function removeEventHandler(elem,eventType,handler) {
 if (elem.removeEventListener) 
    elem.removeEventListener (eventType,handler,false);
 if (elem.detachEvent)
    elem.detachEvent ('on'+eventType,handler); 
}

或jQuery的.unbind()函数。

答案 1 :(得分:0)

如果使用jQuery添加事件,则会在删除元素时删除事件。