Document: elementFromPoint() 方法
elementFromPoint()
方法在 Document
对象上可用,返回指定坐标(相对于视窗)处的最顶层 Element
。
如果指定点处的元素属于另一个文档(例如,<iframe>
的文档),则返回该文档的父元素(<iframe>
本身)。如果给定点处的元素是匿名元素或 XBL 生成的内容,例如文本框的滚动条,则返回第一个非匿名祖先元素(例如,文本框)。
将 pointer-events
设置为 none
的元素将被忽略,并将返回其下面的元素。
如果该方法在另一个文档(例如 <iframe>
的子文档)上运行,则坐标相对于调用该方法的文档。
如果指定点位于文档的可见范围之外,或者任何坐标为负数,则结果为 null
。
如果您需要查找元素内的特定位置,请使用 Document.caretPositionFromPoint()
。
语法
js
elementFromPoint(x, y)
参数
返回值
位于指定坐标处的最顶层 Element
对象。
示例
此示例创建了两个按钮,可让您设置位于坐标 (2, 2)
处的段落元素的当前颜色。
JavaScript
js
function changeColor(newColor) {
elem = document.elementFromPoint(2, 2);
elem.style.color = newColor;
}
changeColor()
方法获取位于指定点处的元素,然后将该元素的当前前景色 color
属性设置为 newColor
参数指定的颜色。
HTML
html
<p id="para1">Some text here</p>
<button onclick="changeColor('blue');">Blue</button>
<button onclick="changeColor('red');">Red</button>
HTML 提供了将要影响其颜色的段落,以及两个按钮:一个用于将颜色更改为蓝色,另一个用于将颜色更改为红色。
结果
规范
规范 |
---|
CSSOM 视图模块 # dom-document-elementfrompoint |
浏览器兼容性
BCD 表格仅在浏览器中加载