dom – 当我删除元素时,是否需要在jQuery中分离事件

前端之家收集整理的这篇文章主要介绍了dom – 当我删除元素时,是否需要在jQuery中分离事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个UI使用动态选项卡,所以可以将内容加载到一个选项卡,然后该选项卡可以关闭,内容页面删除.

当我将内容加载到选项卡中时,我会使用jQuery将许多事件附加到元素.

当我从页面删除这些元素时会发生什么? jQuery需要知道吗?

此外,如果我多次附加事件,是否重要?例如,在我的选项卡加载中,我可能会使用类选择器(如$(‘.submitButton’))附加一个事件.点击(…).但是我可能已经打开了其他标签,已经附带了submitButton事件.在这种情况下,我将重新附加相同的事件.这有什么问题吗?

解决方法

如果您使用jQuery方法.remove()或.empty(),它们将清理所有分配给jQuery的事件(和其他数据).

> http://api.jquery.com/remove/
> http://api.jquery.com/empty/

文件remove():

In addition to the elements themselves,all bound events and jQuery data associated with the elements are removed.

对于空():

To avoid memory leaks,jQuery removes other constructs such as data and event handlers from the child elements before removing the elements themselves.

如果您使用本机API方法进行删除,那么所有数据将会挂起.所以更好的使用jQuery方法.

猜你在找的HTML相关文章