javascript - DOMSubtreeModified ...如何确保它只触发一次?

标签 javascript

当使用 DOMSubtreeModified 时,我会触发多个事件,有时会触发 30 多个事件。是否可以确保无论 DOMSubtreeModified 是否被触发,我的函数只被调用一次?

最佳答案

Mutation Events是无法真正驯服的性能 pig 。因此,它们在一年多前就已被弃用,应仅在真正需要时使用。

您可以使用新的 Shiny 的 Mutation Observers来自 DOM Level 4(点击那里的链接!)。 DOMSubtreeModified 触发了一千次,而 MutationObserver 只触发一次,包含所有修改并可访问。

工作于(截至 2012/06 年):

  • Chrome 18+(前缀为 window.WebKitMutationObserver)
  • Firefox 14+(无前缀)
  • WebKit 夜间事件

除此之外……一些骇人听闻的解决方案,删除监听器并安排在将来某个时间(一两秒)再次添加它可能值得探索。

关于javascript - DOMSubtreeModified ...如何确保它只触发一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8672344/

相关文章:

javascript - 如何判断删除的文件是否是文件夹?

javascript - 编写一个 jquery 函数来重用一个公式

javascript - 可拖动不起作用

javascript - Jquery Onclick 事件函数第二次不起作用

javascript - 从 html 文件执行 Nodejs 脚本

javascript - d3 过滤器从 csv 中复制名称

javascript - 日期选择 onChange 等效/修复?

javascript - 仅在获得焦点时保留 CSS 效果

javascript - 断言一个值恰好等于 undefined

javascript - ASP : Dynamically update a Google Maps engine instance with new coordinates