html5 – DOM突变事件替换

由于DOM突变被w3c标记为不赞成(见 http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents),是否有(快速)替代方法来检测DOM中的属性修改

解决方法

据我所知,没有别的(还),所以你被困在DOMAttrModified只支持在Firefox和Opera。在IE中,您有一个onpropertychanged事件,但是没有办法在Chrome / Safari中获得类似的功能。根据您要完成的任务和您所针对的浏览器,您可以执行一些操作:

>将getter和setter定义为要监视的属性
>覆盖方法,如document.createAttribute,attributes.setNamedItem,…

我一直在做自己的跨浏览器解决方案,但没有多少成功。你应该远离突变事件,因为它们不是跨浏览器,而且很慢。
有很好的理由为什么不被弃用。如果你想了解更多,请阅读:

> http://www.w3.org/2008/webapps/wiki/MutationReplacement
> http://www.quirksmode.org/dom/events/> W3C活动
> http://robertnyman.com/javascript/javascript-getters-setters.html

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码