jquery空函数和事件处理程序

Wol*_*mec 6 jquery

在"空"函数(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"制作的构造?

非常感谢提前

Fré*_*idi 9

要从元素中删除所有绑定事件处理程序,可以将特殊值传递"*"off() 方法:

$("#mydiv").empty().off("*");
Run Code Online (Sandbox Code Playgroud)

当文档说明时remove events handlers,它只谈到绑定事件处理程序,而不是委托事件处理程序,因为它们绑定到不受删除影响的祖先元素(或文档本身).

这允许委托处理程序在以后恢复删除的元素时继续按预期工作.