javascript - 如何重用 JQuery 事件?

标签 javascript jquery html performance browser

我有一堆具有以下结构的 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)您的事件

参见 http://api.jquery.com/on/

$(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/

相关文章:

jQuery .data 和 .attr 奇怪的行为?

html - Div 不会下推下一个 div 内容

javascript - 如何从内联 javascript 中抓取 url

javascript - JavaScript Hangman演示

javascript - 如何使用 Object.assign 通过动态键更新 hashmap 字段并避免突变?

javascript - Highmaps:如何检测enableDoubleClickZoomTo 的目标?

javascript - 重叠过渡

javascript - Jquery SlideUp,关闭但不显示效果

javascript - 自动生成下拉列表

jquery - Firefox 中的切换功能出现问题(两个正在切换的 div 内有 wufoo 脚本)