Документ: метод elementFromPoint()
Базовая линия Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Метод elementFromPoint(), доступный для объекта Document, возвращает самый верхний Element по заданным координатам (относительно области просмотра).
Если элемент по заданным координатам принадлежит другому документу (например, документу <iframe>), возвращается родительский элемент этого документа (сам <iframe>). Если элемент по заданным координатам является анонимным или сгенерированным XBL-контентом, например, полосы прокрутки текстового поля, возвращается первый неанонимный родительский элемент (например, само текстовое поле).
Элементы с pointer-events, установленным в none будут проигнорированы, и будет возвращен расположенный ниже элемент.
Если метод выполняется на другом документе (например, поддокументе <iframe>), координаты относительны к документу, в котором вызывается метод.
Если заданная точка находится за пределами видимой области документа или любая координата отрицательна, результат null.
Если вам нужно найти конкретное положение внутри элемента, используйте Document.caretPositionFromPoint().
Синтаксис
elementFromPoint(x, y)
Параметры
x-
Горизонтальная координата точки, относительно левого края текущей области просмотра.
y-
Вертикальная координата точки, относительно верхнего края текущей области просмотра.
Возвращаемое значение
Объект Element, самый верхний элемент по заданным координатам.
Примеры
В этом примере создаются две кнопки, позволяющие установить текущий цвет элемента абзаца, расположенного по координатам (2, 2).
JavaScript
function changeColor(newColor) {
elem = document.elementFromPoint(2, 2);
elem.style.color = newColor;
}
Метод changeColor() получает элемент по заданной точке и затем устанавливает свойство текущего переднего color этого элемента на цвет, указанный параметром newColor.
HTML
<p id="para1">Some text here</p>
<button onclick="changeColor('blue');">Blue</button>
<button onclick="changeColor('red');">Red</button>
HTML предоставляет абзац, цвет которого будет меняться, а также две кнопки: одна для изменения цвета на синий, другая — на красный.
Результат
Спецификации
| Спецификация |
|---|
| CSSOM View Module # dom-document-elementfrompoint |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
elementFromPoint |
1До Chrome 66, этот метод возвращалnull при элементе, являющемся потомком узла-хоста. См. ошибку 40537452. |
12 | 3 | ≤12.1До Opera 53, этот метод возвращалnull при элементе, являющемся потомком узла-хоста. См. ошибку 40537452. |
4 | 18До Chrome Android 66, этот метод возвращалnull при элементе, являющемся потомком узла-хоста. См. ошибку 40537452. |
4 | ≤12.1До Opera Android 47, этот метод возвращалnull при элементе, являющемся потомком узла-хоста. См. ошибку 40537452. |
3.2 | 1.0До Samsung Internet 9.0, этот метод возвращалnull при элементе, являющемся потомком узла-хоста. См. ошибку 40537452. |
≤37До WebView 66, этот метод возвращалnull при элементе, являющемся потомком узла-хоста. См. ошибку 40537452. |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint