【发布时间】:2013-05-18 12:15:44
【问题描述】:
有什么方法可以在 CSSStyleDeclaration 对象发生更改时得到通知,就像 DOM 更改一样,可以使用 DomAttrModified 等事件进行跟踪?
如果有一些类似的 JS 代码
document.styleSheets[0].rules[0].style.backgroundImage = "url(myimage.png)";
有没有什么方法可以在不更改上面的代码 sn-p 的情况下在 JS 处理程序中获得有关更改的通知?
提前致谢!
【问题讨论】:
-
我认为,您可以将 cssText 保存在一个变量中,稍后再进行比较。
-
@Mr_Green 不能解决问题,OP 询问是否有一个他可以挂钩的事件,当 CSS 更改时会触发。就像 DOM Mutation 事件一样。有趣的问题 OP。
-
@Mr_Green 轮询大字符串并不完全有效
-
鉴于从脚本更改输入值时不会触发事件,我很确定从脚本更改样式表时不会触发事件。
-
我只想提一下,现在是 2015 年,我们有 Object.observe,但在该死的 CSSOM 上仍然没有任何效果,甚至没有任何实验性的东西。 CSS 确实是 Web 堆栈中不经意间的臭小子。
标签: javascript html css dom