我可以在JavaScript中监听一个事件,告诉我特定DOM元素的计算样式是否已更改?
如果没有,使用JavaScript获取DOM元素的计算样式的阻塞方法是什么?
答案 0 :(得分:0)
更改DOM元素的计算样式时没有事件侦听器。
如果您喜欢,可以自己编写一个,通过setInterval观察getComputedStyle的值,但根据实现情况,它可能很昂贵且难以处理。
如果你只是担心调整大小时的样式更改,你应该使用window.onresize(下面),或者可能使用JQuery resize事件处理程序。
window.onresize = function(event) {
...
};
关于引用CSS3属性的深入跨浏览器解决方案有一个非常好的阅读here,但以下是通过this answer为各种流行浏览器提供的简单解决方案。
这不是jQuery,但在Firefox,Opera和Safari中你可以使用
window.getComputedStyle(element)
获取计算出的样式 元素,在IE< = 8中,您可以使用element.currentStyle
。归来了 在每种情况下对象都不同,我也不确定它们有多好 使用Javascript创建的元素和样式,但也许 它们会很有用。在Safari中,您可以执行以下操作:
document.getElementById('b').style.cssText = window.getComputedStyle(document.getElementById('a')).cssText;