0

我想要做的是通过 CSS 找出元素的 CSS 值何时更改。假设背景颜色已更改为其他颜色。例如通过使用 :hover。

起初我以为Mutation Observer会解决这个问题,但我错了。当 CSS 文件中元素的样式发生更改时,它不会影响该元素的样式属性。例如,假设我有一个 id 为“test”的元素:

$('#button').click(function () {
    $('#test').css('backgroundColor', 'blue');
});

Mutation Observer 将其检测为样式更改。

但是在 CSS 文件中执行此操作不会触发事件:

#test:hover
{
    background-color: blue;
}

所以我要问的是 - 有没有办法找出,最好是使用 jQuery,什么时候在 CSS 文件中对元素进行了更改?

4

1 回答 1

1

不,很遗憾不是(除非它被 javascript 改变了——这不是你的情况)。

你唯一要做的就是说明你为什么要这样做,也许会有一种方法以不同的方式满足你的要求。您可能会成为 XY 问题的受害者:

https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem

注意:显然,使用background-color元素的持续轮询可以在一定程度上实现这一点(取决于您检查的频率),但我不建议这样做。

于 2015-06-04T08:23:43.677 回答