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方法.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些