在"空"函数(http://api.jquery.com/empty/)的jquery文档中,有以下语句:
"To avoid memory leaks, jQuery removes other constructs such as data and event handlers
from the child elements before removing the elements themselves."
Run Code Online (Sandbox Code Playgroud)
文字说:"...... jQuery从!CHILD!元素中删除事件处理程序......".但我希望事件处理程序也从div标签中删除($("#mydiv").empty).我知道有"删除"功能,但我的意图是不删除div标签.完成这项工作的最佳方法是什么?
另一件事是:
当他们说"删除事件处理程序"时.他们只删除用"bind"制作的构造,还是删除用"delegate"制作的构造?
非常感谢提前
要从元素中删除所有绑定事件处理程序,可以将特殊值传递"*"给off() 方法:
$("#mydiv").empty().off("*");
Run Code Online (Sandbox Code Playgroud)
当文档说明时remove events handlers,它只谈到绑定事件处理程序,而不是委托事件处理程序,因为它们绑定到不受删除影响的祖先元素(或文档本身).
这允许委托处理程序在以后恢复删除的元素时继续按预期工作.
| 归档时间: |
|
| 查看次数: |
4312 次 |
| 最近记录: |