--- title: Document.elementsFromPoint() slug: Web/API/Document/elementsFromPoint translation_of: Web/API/DocumentOrShadowRoot/elementsFromPoint translation_of_original: Web/API/Document/elementsFromPoint ---
{{APIRef("DOM")}}{{SeeCompatTable}}

elementsFromPoint() 方法可以获取到当前视口内指定坐标处,由里到外排列的所有元素。

语法

var elements = document.elementsFromPoint(x, y);

返回值

一个包含多个元素的数组

参数

x
当前视口内某一点的横坐标
y
当前视口内某一点的纵坐标

示例

HTML

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

JavaScript

var output = document.getElementById("output");
if (document.elementsFromPoint) {
  var elements = document.elementsFromPoint(30, 20);
  for(var i = 0; i < elements.length; i++) {
    output.textContent += elements[i].localName;
    if (i < elements.length - 1) {
      output.textContent += " < ";
    }
  }
} else {
  output.innerHTML = "<span style=\"color: red;\">" +
     "您的浏览器不支持 <code>document.elementsFromPoint()</code>" +
     "</span>";
}

{{EmbedLiveSample('Example', '420', '120')}}

规范

Specification Status Comment
{{SpecName('CSSOM View', '#dom-document-elementsfrompoint', 'elementsFromPoint')}} {{Spec2('CSSOM View')}} Initial definition.

浏览器兼容性

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support  {{CompatChrome(43.0)}} {{CompatGeckoDesktop("46.0")}}[1] 10.0 {{property_prefix("ms")}} {{CompatUnknown}} {{CompatSafari(11)}}
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support {{CompatNo}} {{CompatChrome(43.0)}} {{CompatGeckoMobile("46.0")}}[1] {{CompatUnknown}} {{CompatUnknown}} {{CompatSafari(11)}} {{CompatChrome(43.0)}}