此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Document:elementsFromPoint() 方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2020年1月⁩.

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

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

语法

js
elementsFromPoint(x, y)

参数

x

水平坐标点。

y

垂直坐标点。

返回值

一个由 Element 对象组成的数组,按照从视口最顶层到最底层的顺序排列。

示例

HTML

html
<div>
  <p>一些文本</p>
</div>
<p>位于(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">
  浏览器不支持 <code>document.elementsFromPoint()</code>
</span>
`;
}

规范

Specification
CSSOM View Module
# dom-document-elementsfrompoint

浏览器兼容性

参见