我想使用DOM突变事件,但它们并非在所有浏览器中都可用.是否有针对此的跨浏览器库,提供后备计划?
此外,我有兴趣知道Internet Explorer 9是否支持这些DOM突变事件.
谢谢!
解决方法 有两种方法可以做到这一点…一,你可以拍摄dom(var snap = document.body)的快照,然后将其与100毫秒后的dom进行比较,然后再次重置捕捉到正文.我会让你在如何比较它们方面发挥创意:迭代似乎是常见的答案.它不漂亮.
另一个选项是在您创建的任何函数中使用特殊函数来添加/删除应用程序中的元素.此函数将遍历您添加(或销毁)的元素并查找匹配项.
/* Shim matchesSelector */if (!Element.prototype.matchesSelector) { Element.prototype.matchesSelector = Element.prototype.matches || Element.prototype.webkitMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector;}function addingTodom(elm){ /* Whichever method you want to use to map selectors to functions */ var callbacks = array(['.class',fn-reference1],['#ID',fn-reference2],['div',fn-reference3]); /* go through all the elements you're adding */ for (var i = 0; i<elm.length; ++i){ /* go through all the selectors you're matching against */ for (var k = 0; k<callbacks.length ++k){ if(elm[i].matchesSelector(callbacks[k][0])){ /* call function with element passed as parameter */ callbacks[k][1](elm[i]); } } }}
这可能不完美,但它应该让你知道要去哪里.调用此函数(addingTodom)传递刚刚添加的元素作为参数.创建一个类似的函数来删除元素(或相同的函数,但调整一个单独的回调数组).
这是我用来测试一些想法的当前(大而混乱)代码的推断.我已经用这个垫片测试了匹配选择器ie7,它看起来效果很好!
我已经考虑过,但没有考虑过,元素具有某种参数的可能性,该参数可以被设置为在添加时被调用的函数,将其自身作为参数传递.但是,这可能是牵强附会的.
总结以上是内存溢出为你收集整理的DOM突变事件库?全部内容,希望文章能够帮你解决DOM突变事件库?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)