我在一个页面上有以下HTML:
<div class="component">
<a href="#" class="delete">delete</a>
</div>
我在页面加载时有以下脚本:
$(document).ready(function(){
$('a.delete').on('click', function() {
....
});
});
这个页面有其他Javascript代码,可以操纵页面并通过删除
$('.component').remove();
我的问题是:在删除HTML之前,我需要删除(取消绑定)事件处理程序吗?如果没有,会有内存泄漏或其他影响吗?
谢谢和问候!
因为您使用的是jQuery,所以不需要担心它。
与
.empty()
类似,.remove()
方法从DOM中取出元素。如果要删除元素本身以及其中的所有内容,请使用.remove()
。除了元素本身,还会删除所有绑定事件和与元素关联的jQuery数据要删除元素而不删除数据和事件,请改用.detach()
。
http://api.jquery.com/remove/(增加强调)