有没有办法检测元素的"display"css属性是否已更改(更改为None、挡路或Inline-挡路.)?如果没有,有没有插件?谢谢

推荐答案

笔记

自本文 compose 以来,Mutation events已被弃用,并不是所有浏览器都支持.取而代之的是使用mutation observer.

不可以.DOM L2事件模块定义了mutation events个;其中一个-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';

你也可以try 用IE's "propertychange" event代替DOMAttrModified.它应该允许可靠地检测style个变化.

Html相关问答推荐

如何才能完成这个背景按钮

如何通过将项目包裹在迪夫中来保持最右列的对齐方式来对齐项目?

将网格包装在css中

在 Select 前后更改选项卡的背景

正文不能填满浏览器100%的高度

未知高度正在应用于前标记

当溢出到滚动条中时, bootstrap 按钮样式会更改

轨道上的居中范围滑块拇指(Webkit)

浮动Div在CSS中未按预期工作

为什么字体大小而不是 colored颜色 属性适用于元素?

如何在没有包装元素的情况下在React(Next.js)中呈现HTML注释

为什么要添加换行符(至少在 Google Chrome 中)

我的 *ngFor 中的 array.reverse() 在生产中不起作用

为什么 CSS 网格超出了父级?

您如何动态更改 Vue 中更高级别的标签的 CSS

具有 css 高度的输入元素:100% 溢出父 div

pandas `to_html()` - 如何只使特定的行有边框

有没有办法使用 CSS border-radius 创建 HTML 视频标签的三角形显示?

html tailwindcss 给 li 标签添加边框

下拉菜单项在页面加载时显示,需要隐藏直到悬停