Javascript 如何使用事件处理程序从dom树中删除元素
这是我要删除的元素:Javascript 如何使用事件处理程序从dom树中删除元素,javascript,javascript-events,Javascript,Javascript Events,这是我要删除的元素: <div id="tobeRemoved"> <div class="eventAttached"></div> <div> <div class="eventAttached"></div> </div> </div> 但是这些活动呢?它们是否同时被清除 顺便说一句,我更喜欢跨浏览器解决方案。如果使用jQuery添加事件,那么在删除元素
<div id="tobeRemoved">
<div class="eventAttached"></div>
<div>
<div class="eventAttached"></div>
</div>
</div>
但是这些活动呢?它们是否同时被清除
顺便说一句,我更喜欢跨浏览器解决方案。如果使用jQuery添加事件,那么在删除元素时,它将删除事件 如果您知道事件类型,可以尝试以下方法:
function removeEventHandler(elem,eventType,handler) {
if (elem.removeEventListener)
elem.removeEventListener (eventType,handler,false);
if (elem.detachEvent)
elem.detachEvent ('on'+eventType,handler);
}
或者jQuery的函数。Yes div class eventAttached也将被删除,因为元素是tobeRemoved的子元素class@JeffRobertDagala是的,但他们会询问是否会自动删除附加到这些div的任何事件。由于已删除附加的div类eventAttached,因此将自动删除该事件。因此,如果删除了所有类eventAttached,则该类上附加的任何事件也将被删除。已知附加的处理程序会阻塞垃圾收集器。除非您正在开发一个框架或遇到性能问题,否则我不会担心它。是的,ianpgall是正确的。我想知道事件处理程序是否也可以自动删除。
function removeEventHandler(elem,eventType,handler) {
if (elem.removeEventListener)
elem.removeEventListener (eventType,handler,false);
if (elem.detachEvent)
elem.detachEvent ('on'+eventType,handler);
}