事件处理-内存泄漏JQuery-所有浏览器



我在网页中使用jquery。我看到很多内存泄漏正在发生,过了一段时间,整个浏览器都停止了。我使用了sive工具,注意到DOM元素的数量不断增加,每次都增加了4个。

我在关联事件的方式上是否做错了什么?还是因为我使用setTimeout每隔X秒重新绘制一次应用程序?

事件关联:

$('.bir_Names')。单击(showNames);选择器$('.bir_Names')变为一组约300个元素,每个元素在单击时调用函数。

setTimeout每隔X分钟,我就会删除应用程序中的每一个HTML元素,重新绑定新数据并关联事件。我使用jquery remove()来删除元素。也尝试过innerHTML=''和empty()。

我看到每次重绘都会有近30-40MB的跳跃,而Sieve表示没有一个被删除的节点被实际删除。

如有任何帮助,我们将不胜感激。这东西快把我逼疯了。

谢谢。

您没有提到哪种浏览器,但一些谷歌搜索似乎表明这是IE的已知问题

http://forum.jquery.com/topic/possible-memory-leak-in-remove-and-empty

请注意,这指的是jQuery的1.2.x版本。在做任何事情之前,请确保您正在运行最新的1.6.x版本,首先查看jQuery中是否已经修复了缺陷。

[EDIT]确认。。。你确实声明了你的浏览器…'所有。。。所以也许可以忽略第一个环节。

最新更新