文档:elementsFromPoint() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

Document 接口的 elementsFromPoint() 方法会返回一个包含指定坐标处(相对于视口)的所有元素的数组。这些元素按视口从上到下(从最顶层到最底层)的顺序排列。

它的操作方式与 elementFromPoint() 方法类似。

语法

js
elementsFromPoint(x, y)

参数

x

点的水平坐标。

y

点的垂直坐标。

返回值

一个 Element 对象的数组,按视口从上到下(从最顶层到最底层)的顺序排列。

示例

HTML

html
<div>
  <p>Some text</p>
</div>
<p>Elements at point 30, 20:</p>
<div id="output"></div>

JavaScript

js
let output = document.getElementById("output");
if (document.elementsFromPoint) {
  let elements = document.elementsFromPoint(30, 20);
  elements.forEach((elt, i) => {
    output.textContent += elt.localName;
    if (i < elements.length - 1) {
      output.textContent += " < ";
    }
  });
} else {
  output.innerHTML = `<span style="color: red">
  Browser does not support
  <code>document.elementsFromPoint()</code>
</span>
`;
}

规范

规范
CSSOM 视图模块
# dom-document-elementsfrompoint

浏览器兼容性

另见