在页面上的特定点获取元素
使用 JavaScript 找到元素在页面上的位置可能会很棘手。在处理指针事件或其他形式的用户输入时经常会遇到这样的需求。如预期的那样,这个常见问题有许多不同的解决方案,可以使用已经建立的 Web API。
正如我最近发现的那样,Document.elementFromPoint()
提供了一个非常有趣且简单的解决方案。它允许您获取页面上特定点的元素,并且在处理 iframe
时也能很好地工作。此外,Document.elementsFromPoint()
提供类似的功能,但返回页面上特定点的所有元素的数组,按照它们的 z-index 排序。
// 返回指定坐标上最顶层的元素
const element = document.elementFromPoint(x, y);
// 返回指定坐标上所有元素的数组
const elements = document.elementsFromPoint(x, y);