【问题标题】:Can javascript listen for "onDomChange" on every Dom elements?javascript 可以在每个 Dom 元素上侦听“onDomChange”吗?
【发布时间】:2010-11-22 10:01:48
【问题描述】:

我的问题有点奇怪,但我可以为任何 DOM 元素(div)添加事件,比如 'onHtmlChange',当该 div 更改其内容时收到通知?

【问题讨论】:

  • 理想情况下,您永远不需要这样的事件。究竟什么会使任何给定元素的 HTML 发生变化?
  • GMaps 正在为一个 DIV 提供他的内容。但我问题的根源只是模仿数据流编程方法:P

标签: javascript events dom


【解决方案1】:

【讨论】:

  • 似乎 OP 想知道 div 内的 HTML 内容何时发生了变化。
  • @seth — 使用 W3C 模型的浏览器在更改节点的内容时应该同时触发 DOMNodeInsertedDOMNodeRemoved,即使它只是文本节点(刚刚测试 FF3)。链接文章中提到的 IE 技巧可以很容易地扩展到 .html().text() 以模仿这一点。
【解决方案2】:

DOMNodeInserted 和 DOMNodeRemoved 是 Mutation Events 的一部分,现在已弃用。因此,您需要查看Mutation Observer。我在我的一个项目中做了同样的事情,我需要监听某个元素的 DOM 变化。例如DOM 追加、删除、属性和数据更改。

这些链接将对您有所帮助:

  1. http://gabrieleromanato.name/jquery-detecting-new-elements-with-the-mutationobserver-object/
  2. https://github.com/kapetan/jquery-observe
  3. Is there a JavaScript/jQuery DOM change listener?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2013-08-09
    • 2023-04-06
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多