梦幻联动————记一次disabled样式失效

由 漆黑菌 于 2020年06月05日 发布

现象

某页面中的翻页button,disabled后光标还是默认样式。一开始还以为是忘记加了,结果用开发者工具看,是有cursor: not-allowed;样式的,然而!important都用上了还是没有正确的not-allowed光标样式。

排查

  1. 在Chrome上发现的,换Firefox试试看是不是浏览器实现问题,然而Firefox表现一致。
  2. 同事提出是不是上面遮挡了什么奇怪的东西,用开发者工具点了点发现并没有。
  3. 只好去搜索了……

结论

因为当年有人用div当按钮用,所以在disabled里面加了pointer-events: none;防呆,直接显示的是button下面元素的cursor

pointer-events: none; 除了指示该元素不是鼠标事件的目标之外,值none表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。元素永远不会成为鼠标事件的target。但是,当其后代元素的pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。