是否有一种有效的方式来获得HTML DOM元素属性更改的通知?

时间:2011-02-02 11:23:27

标签: javascript html events dom binding

我有一个<ul><li>列表,需要了解每个width的当前height / <li>。 假设其中一个属性因外部原因(而不是我自己的代码)而发生变化,例如,通过调整浏览器大小,通过另一个脚本,样式交换或类似的东西,我无法用自己的代码控制。

跟踪这些变化的最佳和最有效(绩效)方式是什么?

我的第一个解决方案是setInterval(myMonitorFunction, 100),它遍历所有相关的DOM元素。这是滞后的(100ms),并且元素列表越大,性能也越来越高。

对于表单元素,有onchanged事件允许有效监视输入值。我正在为所有/其他DOM元素属性寻找类似(和类似的高效)的东西,但还找不到任何好的解决方案。

1 个答案:

答案 0 :(得分:1)

有一个DOMAttrModified事件,但它仅在现代浏览器中受支持。如果你想支持旧的浏览器(比如IE),除了你提到的那个(当然这是一种矫枉过正的话)之外,没有简单的方法可以做到这一点。