现象
某页面中的翻页button,disabled后光标还是默认样式。一开始还以为是忘记加了,结果用开发者工具看,是有cursor: not-allowed;
样式的,然而!important
都用上了还是没有正确的not-allowed
光标样式。
排查
- 在Chrome上发现的,换Firefox试试看是不是浏览器实现问题,然而Firefox表现一致。
- 同事提出是不是上面遮挡了什么奇怪的东西,用开发者工具点了点发现并没有。
- 只好去搜索了……
结论
因为当年有人用div当按钮用,所以在disabled里面加了pointer-events: none;
防呆,直接显示的是button下面元素的cursor
。
pointer-events: none; 除了指示该元素不是鼠标事件的目标之外,值none表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。元素永远不会成为鼠标事件的target。但是,当其后代元素的pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。