元素删除后jquery事件处理程序会发生什么?

时间:2014-05-30 15:10:12

标签: javascript jquery

如果我在DIV上注册一个jquery事件处理程序 - 删除DIV后会发生什么?如果我经常这样做(单页应用程序) - 我会遇到内存泄漏吗?

HTML:

<div id="elm12345"></div>

JS:

$('#elm12345').on(...);
...
$('#elm12345').remove();

我是否必须手动删除事件处理程序?

1 个答案:

答案 0 :(得分:2)

根据.remove()的jQuery文档:

  

.empty()类似,.remove()方法从DOM中获取元素。如果要删除元素本身以及其中的所有内容,请使用.remove()。 除了元素本身之外,还删除了与元素关联的所有绑定事件和jQuery数据。要删除元素而不删除数据和事件,请改用.detach()。

参考: .remove()

我已经强调了回答你问题的部分段落。您可以在链接的参考页面第一段找到此段落。