如何识别DOM何时被更改?
有没有一种简单的方法可以知道DOM何时被更改?
是否有任何内置的JavaScript / jQuery事件/函数?
如果必须检测更改,则可以检查DOM突变事件。 DOM事件维基百科页面列出了所有这些内容。 但是,您应该知道Internet Explorer不支持它们,并且在支持它们的浏览器中可能会过于频繁地触发它们。 蛮力方法是使用setTimeout
并setTimeout
检查更改。
我的经验表明,可以避免对DOM更改通知的需求。 你能否详细说明你的具体要求?
您可以根据要监听的更改类型附加到许多DOM事件。 这是一个包含所有DOM更改事件的页面:
https://developer.mozilla.org/en/DOM_Events
通用的,catch-all DOM更改事件是DOMSubtreeModified
。 例如:
document.getElementById('abc').addEventListener('DOMSubtreeModified', f, false);
不幸的是,没有广泛支持的内置事件。 您可以使用名为livequery的jQuery插件。