搜索

首页  >  问答  >  正文

javascript - 怎样监测元素内容被修改这一事件?

比如我有一个p元素,里面是一些文本,然后我有一个按钮,点击按钮替换p元素里面的内容,那么给p元素绑定何种事件可以让它告知我 它被人修改了,有什么实现方式吗?

伊谢尔伦伊谢尔伦2777 天前406

全部回复(5)我来回复

  • PHPz

    PHPz2017-04-11 11:08:01

    http://stackoverflow.com/questions/9470931/is-there-any-on-dom-change-event

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-11 11:08:01

    最新的 MutationObserver 应该可以满足需求, 详见 https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver

    MutationObserver给开发者们提供了一种能在某个范围内的DOM树发生变化时作出适当反应的能力.

    涵盖子节点变化, 属性变化.

    如果使用事件监听器, 如 DOMNodeInserted, DOMNodeRemoved 等更直观一些. 但 MutationObserver 设计出来就是为了替换掉 Mutation events -- DOMNodeInserted 等.

    这种设计有点像 Promise, 没有事件监听器的影子.

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-11 11:08:01

    谢谢邀请。点击事件的地方发送一个ajax请求,把你修改的操作发送给其他人。

    回复
    0
  • 怪我咯

    怪我咯2017-04-11 11:08:01

    p元素自身没有change事件,所以得在点击按钮时候去做逻辑处理了,反正点击这个按钮一定会修改p元素内容,糟糕的就是如果多个地方都是对p的修改,这种时候就要重复写相同的逻辑处理,不过如果你用了框架的话,比如angular和vue中都有提供这样的watcher

    回复
    0
  • 黄舟

    黄舟2017-04-11 11:08:01

    DOMSubtreeModified
    这个事件,用的人很少而已。。。。

    回复
    0
  • 取消回复