Man*_*dai 11 jquery memory-leaks
我有一个包含很多子元素的元素.我想清除这个元素的内容并用新结构替换它.
子元素被赋予各种事件侦听器,并不是所有这些侦听器都是通过jquery绑定方法创建的.
如果我使用jquery的空方法来清除元素,它会删除所有的事件监听器还是只清除通过jquery bind方法创建的监听器?
小智 13
正如几位评论者所提到的,jQuery文档说empty()确实删除了事件处理程序:http://api.jquery.com/empty/
当这个问题发布时,情况可能并非如此,但此页面是谷歌的首次亮相.
the*_*dox -1
它不会清除事件侦听器。但是您应该使用此事件侦听器作为live()事件,因为您正在DOM动态更改元素。
例如:
$('a').live('click', function(){
// your stuff
});
Run Code Online (Sandbox Code Playgroud)
// 以下代码片段需要 jQuery 1.7
$(document).on('click', 'a', function(){
// your stuff
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9322 次 |
| 最近记录: |