jquery空函数和事件处理程序

前端之家收集整理的这篇文章主要介绍了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."

文字说:“…… jQuery从!C H I L D!元素中移除事件处理程序……”.但我希望事件处理程序也从div标签删除($(“#mydiv”).empty).我知道有“删除功能,但我的意图是不删除div标签.完成这项工作的最佳方法是什么?

另一件事是:
当他们说“删除事件处理程序”时.他们只删除用“bind”制作的构造,还是删除用“delegate”制作的构造?

非常感谢提前

解决方法

要从元素中删除所有绑定事件处理程序,可以将特殊值“*”传递给 off()方法
$("#mydiv").empty().off("*");

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

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

猜你在找的jQuery相关文章