假设我有这个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>