如果你使用 document.elementFromPoint(x,y)
,并且多个元素位于提供的坐标处,它应该返回最顶层的元素(在视觉堆叠顺序中最顶部,而不是源代码)。
如果最顶层的元素有 pointer-events: none
在CSS中设置, document.elementFromPoint
没有看到它。 这个小提琴 证明了这种效果。
这是预期的行为吗?似乎浏览器在您提供的坐标处触发点击事件(一个不会触发附加点击处理程序或默认行为的机密点击事件)以查找该元素。有没有办法看到如何 document.elementFromPoint
在不同的浏览器中实现? CSS属性会影响完全不相关的DOM函数的行为,这似乎很奇怪。
我只在最新的Chrome中测试了这个。我确信每个浏览器都会以不同的方式对待它。我主要对基于webkit的浏览器感到好奇,但是关于其他浏览器的更多信息总是受欢迎的。