对于Ajax应用程序,我反复使用jQuery的html()方法来更新DOM容器(覆盖HTML内容,然后将元素绑定到事件侦听器)。
附加到被破坏内容的事件侦听器是否被jQuery正确删除了,还是存在内存泄漏的风险? (这里已经有一些相关问题,但我找不到答案)。
答案 0 :(得分:8)
是的,当您使用jQuery方法删除或替换内容时,将清除所有事件和数据。它是使用内部cleanData
方法完成的。
https://github.com/jquery/jquery/blob/1.9-stable/src/manipulation.js#L242 https://github.com/jquery/jquery/blob/1.9-stable/src/manipulation.js#L746