如何识别DOM何时被更改?

有没有一种简单的方法可以知道DOM何时被更改?

是否有任何内置的JavaScript / jQuery事件/函数?

如果必须检测更改,则可以检查DOM突变事件。 DOM事件维基百科页面列出了所有这些内容。 但是,您应该知道Internet Explorer不支持它们,并且在支持它们的浏览器中可能会过于频繁地触发它们。 蛮力方法是使用setTimeoutsetTimeout检查更改。

我的经验表明,可以避免对DOM更改通知的需求。 你能否详细说明你的具体要求?

您可以根据要监听的更改类型附加到许多DOM事件。 这是一个包含所有DOM更改事件的页面:

https://developer.mozilla.org/en/DOM_Events

通用的,catch-all DOM更改事件是DOMSubtreeModified 。 例如:

 document.getElementById('abc').addEventListener('DOMSubtreeModified', f, false); 

不幸的是,没有广泛支持的内置事件。 您可以使用名为livequery的jQuery插件。