gpt4 book ai didi

javascript - JQuery 清理事件处理程序

转载 作者:数据小太阳 更新时间:2023-10-29 04:09:35 27 4
gpt4 key购买 nike

我是一名开始进行 jquery/javascript 开发的 actionscript 开发人员。我对事件处理程序和绑定(bind)/解除绑定(bind)有疑问。

举例来说,我有一个带有 img 元素的 div,其中有一个 onerror 事件处理程序。如果我用一个新的替换那个 div,我需要删除绑定(bind)到 img 元素的事件处理程序。由于 img 不再出现在文档中,浏览器是否足够智能以将其删除,或者我是否会导致内存泄漏?

来自 actionscript 我通常尝试不断删除旧的事件处理程序。那么在为网络浏览器编写 javascript 时是否需要这样做?

事件处理程序添加了 $('imgElement').error(errorFunction);

最佳答案

如果您使用 jQuery 绑定(bind)事件,只需调用 .remove()在替换之前在旧元素上,或者 .empty()如果你只想清除它,这两个都会清除元素及其子元素的事件处理程序,或者在 .empty() 的情况下, 只是 children 。

如果你只是替换它,例如.html(content)泄漏内存,因为这些元素的任何处理程序或数据都将留在 $.cache 对象上。

关于javascript - JQuery 清理事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467656/

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