微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/html5/169265.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。