Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM检测元素样式更改(不带JQUERY)_Javascript_Styles_Dom Events - Fatal编程技术网

Javascript DOM检测元素样式更改(不带JQUERY)

Javascript DOM检测元素样式更改(不带JQUERY),javascript,styles,dom-events,Javascript,Styles,Dom Events,我正在开发一个javascript应用程序,需要在没有JQUERY的情况下检测id=“mydiv”的任何样式更改 document.getElementById("mydiv").addEventListener("WHATISANYCHANGESEVENTNAME", function() { alert("change detected"); }) 我该怎么做呢。 谢谢您可以使用 let observer=新的突变观察者((突变,观察者)=>{ map(m=>console.l

我正在开发一个javascript应用程序,需要在没有JQUERY的情况下检测id=“mydiv”的任何样式更改

document.getElementById("mydiv").addEventListener("WHATISANYCHANGESEVENTNAME", function() {
     alert("change detected");
})
我该怎么做呢。 谢谢

您可以使用

let observer=新的突变观察者((突变,观察者)=>{
map(m=>console.log(m.target.style.cssText));
});
observer.observe(mydiv,{attributes:true});
//测试哪些更改背景
函数更改bg(e){
e、 target.style.background='#'+(Math.random()*2**24 | 0).toString(16);//随机颜色
}
.foo{宽度:100px;高度:100px;背景:黄色}

clik on me
Wow。救生员:)谢谢。注意,MutationObserver的速度非常慢,它们的处理程序通常是“事件风暴”(观察者的处理程序触发其他突变事件)的来源。如果可能的话,如果控制触发更改的代码,应该使用编程回调/事件。