可以用侦听器删除DOM元素会导致内存泄漏



假设我有这个html:

<ul class="waka_waka">
  <li>Fozzy Bear</li>
  <li>Steve Martin</li>
  <li>John Candy</li>
</ul>

...然后添加了一个事件侦听器:

$('ul li').click(function() { console.log('waka_waka!!!'); });

如果突然在某个时候这样做:

$('.waka_waka').remove();

那些活动听众会自动脱离和释放吗?还是这实际上会导致内存泄漏?对于一个人删除这些听众是最好的做法吗?

根据jQuery docs remove,也删除了所有绑定的事件处理程序

除了元素本身,所有绑定事件和jQuery之外 删除与元素关联的数据。

但是,请查看此问题的jQuery内存泄漏并删除DOM,似乎在某一时刻可能已经有一个内存泄漏(请注意,该问题已经很旧了,因此希望到目前为止应该解决)。<<<<<<<</p>

最新更新