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