使用Javascript跟踪HTML元素的显示更改

假设我有一个给定的HTML元素,例如:

...

在该元素内部,可能会发生许多事情,这些事情将改变该元素的某些显示配置,例如其高度或固定位置。

无论如何我可以跟踪与该元素显示相关的任何变化吗? 当元素更改任何显示变量时是否会触发一般事件?

只需使用如下内容:

 MutationObserver = window.MutationObserver || window.WebKitMutationObserver; var observer = new MutationObserver(function(mutations, observer) { // fired when a mutation occurs console.log(mutations, observer); // Use of the information here. }); observer.observe(document, { subtree: true, attributes: true //... }); 

在对MutationObserver的调用中,您可以监听事件并获取变量突变中更改的元素列表。

observer.observe的第一个参数中,您可以设置要监听的元素。 在同一方法的第二个参数中,您可以设置要收听的内容。

此代码适用于Chrome,Firefox和Safari。 对于其他浏览器,您可以使用事件,例如'DOMAttrModified''propertychange' ,如果您只想查看属性已修改,请参见示例。

祝好运。

看起来你可能指的是突变事件 (在这里可能相关的问题中找到 )。 您可能已经发现,大多数变化跟踪都以输入元素为中心。

我之前没有正确使用过这些,所以我无法提供很多关于实现的内容。 希望这可以帮助!

我认为无法跟踪事件,这里有一个完整的事件列表: http : //www.quirksmode.org/dom/events/index.html