Javascript CSS属性更改侦听器

Javascript CSS属性更改侦听器,javascript,css,Javascript,Css,CSS属性更改侦听器的任何建议实现?也许: thread = function getValues(){ while(true){ for each CSS property{ if(properties[property] != nil && getValue(property) != properties[property]){alert('change')} else{properties[property] = getValue(pr

CSS属性更改侦听器的任何建议实现?也许:

thread =

function getValues(){
  while(true){
    for each CSS property{
      if(properties[property] != nil && getValue(property) != properties[property]){alert('change')}
      else{properties[property] = getValue(property)}
    }
  }
}

我想你在找这个:

document.documentElement.addEventListener('DOMAttrModified', function(e){
  if (e.attrName === 'style') {
    console.log('prevValue: ' + e.prevValue, 'newValue: ' + e.newValue);
  }
}, false);
如果你用谷歌搜索它,就会出现很多东西。但这看起来很有希望:


domatrtmodified
这样的突变事件是不推荐的。考虑使用一个突变观测器代替.< /P> 例如:

<div>use devtools to change the <code>background-color</code> property of this node to <code>red</code></div>
<p>status...</p>
JS:


这一款不适用于基于WebKit的浏览器,至少在Chrome上是这样。
var observer = new MutationObserver((mutations) => {
  mutations.forEach((mutation) => {
    if (mutation.target.style.color === 'red') {
      document.querySelector('p').textContent = 'success';
    }
  });
});

var observerConfig = {
  attributes: true,
  childList: false,
  characterData: false,
  attributeOldValue: true
};

var targetNode = document.querySelector('div');
observer.observe(targetNode, observerConfig);