比如我有一个p元素,里面是一些文本,然后我有一个按钮,点击按钮替换p元素里面的内容,那么给p元素绑定何种事件可以让它告知我 它被人修改了,有什么实现方式吗?
PHPz2017-04-11 11:08:01
http://stackoverflow.com/questions/9470931/is-there-any-on-dom-change-event
大家讲道理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, 没有事件监听器的影子.
怪我咯2017-04-11 11:08:01
p元素自身没有change
事件,所以得在点击按钮时候去做逻辑处理了,反正点击这个按钮一定会修改p元素内容,糟糕的就是如果多个地方都是对p的修改,这种时候就要重复写相同的逻辑处理,不过如果你用了框架的话,比如angular和vue中都有提供这样的watcher