Używając JavaScript, jak mogę zidentyfikować element na danej pozycji? Zasadniczo zamierzam napisać funkcję, która pobiera dwa parametry wejściowe (współrzędne x i y) i zwraca element html w pozycji na ekranie reprezentowane przez parametry.Zdobądź element w określonej pozycji - JavaScript
Odpowiedz
document.elementFromPoint(x, y);
http://dev.w3.org/csswg/cssom-view/#dom-document-elementfrompoint
http://msdn.microsoft.com/en-us/library/ms536417%28VS.85%29.aspx
https://developer.mozilla.org/en/DOM/document.elementFromPoint
Jeśli tylko tam były 'document.elementsFromPoint' - w przypadku, gdy elementy nakładają się. – Seiyria
Jestem zdumiony tym, że zadziałało to np. 5,5 i dzisiaj nie jest tak często używane. –
Próbowałem tej metody i mierzy pozycję zgodnie z dokumentem. Jak używać go względem elementu nadrzędnego? – Charas
Można użyć natywną JavaScript elementFromPoint(x, y)
metodę, która zwraca element o współrzędnych X, Y w rzutni.
Zobacz elementFromPoint w3c draft
I, przykładowy kod:
<html>
<head>
<title>elementFromPoint example</title>
<script type="text/javascript">
function changeColor(newColor)
{
elem = document.elementFromPoint(2, 2);
elem.style.color = newColor;
}
</script>
</head>
<body>
<p id="para1">Some text here</p>
<button onclick="changeColor('blue');">blue</button>
<button onclick="changeColor('red');">red</button>
</body>
</html>
Można użyć setInterval()
stale sprawdzać zdarzenia najechaniu elementu, ale nie jest to zalecane, spróbuj użyć .hover(...)
i CSS zamiast do zwiększenia wydajność aplikacji.
[elementsFromPoint] (https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint) –