我有一堆具有以下结构的 div:
<div id="content">
<span class="highlight">Hello1<span>
<span class="highlight">Hello2<span>
<span class="highlight">Hello1<span>
<span class="highlight">Hello2<span>
<span class="highlight">Hello1<span>
<span class="highlight">Hello2<span>
</div>
我在小函数的 highlight
上添加了鼠标 3 事件,在 div 上的一些操作上我正在更改 div 内容一些其他 span 标签,因此早期无用的鼠标事件仍然保留在内存中,这增加了浏览器内存当 span 标签在 1000 左右时呈指数增加 MB。
有什么方法可以将 span 标签的早期鼠标事件重新用于新的 div 内容 span 标签?
最佳答案
例如,您需要从父容器$(document.body)
委托(delegate)您的事件
$(document.body).on('events list','selector',function(e) {
//do stuff
})
.on('event list2','selector2',function(e) {
//do stuff
})
//etc...
无论绑定(bind)到这些事件的对象数量如何,它都不会消耗更多内存
关于javascript - 如何重用 JQuery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14785186/