2014-01-29 220 views
3

如果我发出ajax请求来移除主体HTML并追加新的HTML,那么是否还需要删除添加到以前的HTML的所有事件处理程序?DOM更改时是否需要清理我的事件处理程序?

我注意到,如果我不这样做,一切工作正常。浏览器是否释放内存和内容?如果我在不刷新浏览器的情况下执行数千次这样的Ajax请求会怎么样?我会得到内存泄漏吗?

回答

1

如果添加jQuery的事件处理程序:

  • 他们,如果你使用jQuery删除/清洗更换功能
  • ,如果你直接使用DOM功能

他们不会被清理在大多数功能文件中,您有与this one类似的评论:

Whe n .html()用于设置元素的内容,该元素中的所有 内容都将被新内容完全替换。 此外,jQuery删除其他构造,如数据和事件 来自子元素的处理程序,然后用 新内容替换这些元素。

如果你是连贯的,你将没有内存泄漏,你不必手动删除数据或事件处理程序。将页面保持打开几天并发出数千个Ajax请求并相应地更改屏幕通常没有问题。

+0

谢谢。明确的答案和直接点:)哦,这个网页不会开放几天,我只是想创建一个“活的”管理区域 – thelolcat

相关问题