如何使用YUI3检测HTML元素的样式更改
How to detect style change of an HTML element with YUI3?
我正在工作的网站是使用一个脆弱的广告提供商,有时他们返回的JS代码是有bug的,例如最终改变整个body
元素的背景颜色,而不是自己的div
元素。不幸的是,我们不得不使用他们的服务,他们需要很长时间才能纠正这些错误。
所以,我正在考虑创建一个解决方案,例如,当body
元素的background-color
样式被改变时,我的回调函数将被调用以将其更改回正确的值。是否有一个干净的方法来做它与YUI3(或jQuery,或纯JS,如果YUI3没有它)?
我知道我可以定期设置背景,用setInterval()
来纠正颜色,但这对我来说似乎很浪费和混乱。有人知道更好的方法吗?
如果你是通过javascript改变CSS,你可以使用突变事件(二级事件)。
你可以监听这些事件:
- DOMAttrModified
- DOMAttributeNameChanged
- DOMCharacterDataModified
- DOMElementNameChanged
- DOMNodeInserted
- DOMNodeInsertedIntoDocument
- DOMNodeRemoved
- DOMNodeRemovedFromDocument
- DOMSubtreeModified
所以要么监听DOMAttrModified,带有Style属性,要么监听Class属性。
相关文章:
- insertRule不插入样式元素
- 具有描边属性的 SVG 样式 G 元素
- 如何在样式元素中获取 CSS 代码
- 如何让用户更改表单的样式元素
- 如何根据子组件的状态更改父组件样式元素
- 如何使样式元素的一部分成为函数?(IE:颜色:$random而不是颜色:红色)
- 动态创建的样式元素
- 如何使用javascript获取外部样式元素的css属性
- 在ExtJS中为一个项目添加多个样式元素
- 在目标页面加载完成之前添加样式元素
- 将样式元素动态插入DOM的最后一种跨浏览器方式
- CKEditor 剥离 Rails 中跨度类的样式元素
- 根据单元格内容更改样式元素
- 更改绝对样式元素的位置
- 在React组件中呈现样式元素
- 样式元素左置:页面的x px
- 按钮样式元素的类冲突
- Javascript样式元素
- 在移动设备中,哪一个更快:包括一个额外的CSS文件或在JavaScript中创建一个样式元素
- 需要一种方法来样式元素,我不能访问