当前位置:  开发笔记 > 编程语言 > 正文

JQuery清理事件处理程序

如何解决《JQuery清理事件处理程序》经验,为你挑选了1个好方法。

我是一个动作脚本开发人员进入jquery/javascript开发.我有一个关于事件处理程序和绑定/解除绑定的问题.

比方说我有一个带有img元素的div,其中包含一个onerror事件处理程序.如果我用新的替换那个div,我需要删除绑定到img元素的eventhandler.由于img不再在文档中,浏览器是否足够智能删除它还是会导致内存泄漏?

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

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



1> Nick Craver..:

如果您使用jQuery绑定事件,只需.remove()在替换它之前调用旧元素,或者.empty()如果您只想清除它,这两个清理元素及其子元素的事件处理程序,或者.empty()仅仅是儿童.

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


我不知道.html(内容)会泄漏内存!谢谢!
推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有