Document.elementsFromPoint()

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

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>";
}

规范

Specification Status Comment
CSS Object Model (CSSOM) View Module
elementsFromPoint
Working Draft Initial definition.

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support  43.0 46.0 (46.0)[1] 10.0 ms ? 11
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 43.0 46.0 (46.0)[1] ? ? 11 43.0

 

文档标签和贡献者

此页面的贡献者: ziyunfei
最后编辑者: ziyunfei,