获取指定位置的元素 -JavaScript

使用 Javascript 如何识别给定位置的元素?基本上,我希望编写一个函数,该函数接受两个输入参数(x 和 y 坐标) ,并在参数表示的屏幕上的位置返回 html 元素。

93779 次浏览

您可以使用本机 JavaScriptelementFromPoint(x, y)方法,该方法返回 viewport 中坐标 x,y 处的元素。

看看 W3c 草案

还有一个代码示例:

function changeColor(newColor) {
// Get the element placed at coords (2, 2)
var elem = document.elementFromPoint(2, 2);
// Set the foreground color to the element
elem.style.color = newColor;
}
<p id="para1">Change this text color using the following buttons.</p>
<button onclick="changeColor('blue');">Blue</button>
<button onclick="changeColor('red');">Red</button>

您可以使用 setInterval()来连续检查元素的悬停事件,但是不推荐这样做,尝试使用 .hover(...)和 css 来提高应用程序的性能。

要获得相对于视口的特定位置的最顶层元素,可以使用 document.elementFromPoint(x, y)

若要获取特定位置上所有元素的数组,请使用 document.elementsFromPoint(x, y)

在这两种情况下,x是相对于视口左侧的水平坐标,而 y是相对于视口顶部的垂直坐标。