用Javascript跟踪HTML元素上的显示变化
Track display changes on HTML element with Javascript
假设我有一个给定的HTML元素,例如:
<div id="foo">...</div>
在该元素中,可以发生很多事情来改变该元素的一些显示配置,比如它的高度或固定位置。
我是否可以跟踪与该元素显示相关的任何更改?当元素改变任何显示变量时是否会触发一个通用事件?
直接使用:
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
相关文章:
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- HTML/Javascript-360度图片的路径更改(显示不同的变化)
- Angular js-当值发生变化时高亮显示dom
- 我想在 td 的值发生变化时更改突出显示的 td
- 当圆形图像在圆轮中发生变化时,如何在顶部显示标签
- 显示模块模式的细微变化
- 两个按钮,可随背景位置变化而切换,并在输入中显示结果
- 摘要循环显示我的数组没有变化(视图不会刷新)
- 一个不断变化的JavaScript变量在HTML中的多个位置显示(并更新)
- 什么'这是在angular JS中创建一个表的好方法,当单元格发生变化时,该表会高亮显示
- amCharts显示滚动气球中的值变化
- Ng显示当页面上有多个控制器的布尔值发生变化时不更新
- Angular JS, Typescript -当使用$watch时,UI不会显示模型的变化
- 用highcharts-ng动画显示皮哈特起始角的变化
- 浏览器:检测显示配置的变化
- 显示数组中不断变化的文本
- 用Javascript跟踪HTML元素上的显示变化
- 我的服务不会立即显示变化.必须刷新浏览器
- 美元的范围.$watch没有显示变化的值
- 如何在html页面中显示变化的变量(如数字)