Javascript 如果元素';是否更改了的显示属性?
比如:Javascript 如果元素';是否更改了的显示属性?,javascript,javascript-events,Javascript,Javascript Events,比如: element.addEventListener("displayChanged", function(){ console.log("element.style.display changed.") }, false); 当然,这里没有displayChanged,但我想知道我该怎么做?只需要Chrome支持。您可以使用设置间隔进行轮询,并使用以下方法检查更改: <div onclick="this.style.display = 'none';">ha<
element.addEventListener("displayChanged", function(){
console.log("element.style.display changed.")
}, false);
当然,这里没有
displayChanged
,但我想知道我该怎么做?只需要Chrome支持。您可以使用设置间隔进行轮询,并使用以下方法检查更改:
<div onclick="this.style.display = 'none';">ha</div>
<script>
(function(){
var elm = document.getElementsByTagName('DIV')[0],
old = (elm.currentStyle || window.getComputedStyle(elm, false)).display,
interval = setInterval(function(){
var style = elm.currentStyle || window.getComputedStyle(elm, false);
if(old !== style.display){
clearInterval(interval);
console.log('changed');
}
},120);
})();
</script>
ha
(功能(){
var elm=document.getElementsByTagName('DIV')[0],
old=(elm.currentStyle | | window.getComputedStyle(elm,false)).display,
间隔=设置间隔(函数(){
var style=elm.currentStyle | | window.getComputedStyle(elm,false);
如果(旧的!==style.display){
间隔时间;
console.log('changed');
}
},120);
})();
如果要更改元素的显示属性,那么此时,可以使用自定义事件触发新事件。如果没有,您可以使用watch/unwatch。我不知道他们的情况。我只知道它们可能有用。:) 我想这是不可能的。你不能附加到改变元素样式的操作吗?@Andre我正在写一个GreaseMonkey脚本,以便向其他网站添加一些内容。你有很多元素要检查吗?