有没有一种方法可以检测元素的“ display” css属性是否已更改(更改为none还是block或inline-block …)?如果没有,有插件吗?谢谢
Level-2-Events/events.html#Events-eventgroupings-mutationevents);其中之一-DOMAttrModified 是您需要的。当然,它们并未得到广泛实施,但至少在Gecko和Opera浏览器中受支持。
尝试以下方法:
document.documentElement.addEventListener('DOMAttrModified', function(e){ if (e.attrName === 'style') { console.log('prevValue: ' + e.prevValue, 'newValue: ' + e.newValue); } }, false); document.documentElement.style.display = 'block';
您也可以尝试利用[IE的“ propertychange”事件代替DOMAttrModified。它应该允许style可靠地检测更改。
DOMAttrModified
style