【发布时间】:2011-09-22 17:03:20
【问题描述】:
我在我的网页中使用 jquery。我看到发生了很多内存泄漏,过了一会儿整个浏览器就停止了。我使用了筛子工具,发现数量在不断增加。的 DOM 元素,每次都没有。 4 个。
我在关联事件的方式上做错了吗? 还是因为我每 X 秒使用 setTimeout 重绘我的应用?
事件关联:
$('.bir_Names').click(showNames); 选择器 $('.bir_Names') 演化为一组大约 300 个元素,每个元素都会在点击时调用该函数。
设置超时 每 X 分钟,我删除应用程序中的每个 HTML 元素并重新绑定新数据并关联事件。我使用 jquery remove() 删除元素。也尝试过 innerHTML = '' 和 empty()。
我看到每次重绘都有近 30-40 MB 的跳跃,并且 Sieve 表明实际上没有删除任何已删除的节点。
任何帮助将不胜感激。这件事快把我逼疯了。
谢谢。
【问题讨论】:
标签: memory-leaks event-handling settimeout jquery-1.3 multiple-browsers