gpt4 book ai didi

html - 用附加的事件处理程序删除DOM元素的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 04:09:03 31 4
gpt4 key购买 nike

假设我有这样的HTML:

<tr id="myRow">
<td > some text</td>
<td > some text</td>
...
</tr>

并且每个TD都将处理程序附加到onClick事件。

我想以正确的方式删除#myRow child 。
下面的代码会导致内存泄漏吗?
query('#myRow').innerHtml = '';

删除所有子TD元素的正确方法是什么-不引起内存泄漏?

我在 Does remove a DOM object (in Javascript) will cause Memory leak if it has event attached?上看到了类似的问题,但是我不清楚删除元素是否会清除事件处理程序。

最佳答案

通常,现代浏览器会尝试确保在删除或替换DOM元素时没有内存泄漏。因此,您应该能够设置innerHtml或调用element.children.clear(),而不必担心事件处理程序导致内存泄漏。

但是,有一件事:您通常希望避免添加对多个子元素执行相同操作的事件处理程序的方案。将事件处理程序附加到父级,然后使用targetcurrentTarget属性来区分附加了处理程序的元素和触发事件处理程序的元素,通常会更有效。

关于html - 用附加的事件处理程序删除DOM元素的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18463791/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com