Spec-Zone.ru › Web APIs

ShadowRoot: метод elementsFromPoint()

Нестандартный: Эта функция нестандартная и не соответствует стандартам. Не используйте её на сайтах, работающих с веб-браузерами: она может не работать для всех пользователей. Также могут быть значительные различия в реализации и поведении в будущем.

Метод elementsFromPoint() интерфейса ShadowRoot возвращает массив всех элементов shadow root в указанных координатах (относительно области просмотра). Элементы упорядочены сверху вниз (по порядку отображения).

Он работает аналогично методу ShadowRoot.elementFromPoint. Некоторые браузеры возвращают только элементы shadow root, присутствующие в этом месте. Другие браузеры включают элементы за пределами shadow DOM, от элемента shadow DOM в верхнем слое до корневого узла документа, такого как элемент <html> или <svg>. В этих браузерах он работает аналогично методу Document.elementsFromPoint, но с возможностью пересечения границы тени.

Синтаксис

elementsFromPoint(x, y)

Параметры

x

Горизонтальная координата точки, относительно левого края текущей области просмотра.

y

Вертикальная координата точки, относительно верхнего края текущей области просмотра.

Возвращаемое значение

Массив объектов Element.

Примеры

const customElem = document.querySelector("my-custom-element");
const shadow = customElem.shadowRoot;
const elements = shadow.elementsFromPoint(20, 20);
const msg = elements.map((el) => el.localName).join(" < ");
if (msg) {
  console.log(msg);
} else {
  console.log("The custom element had no descendants at x: 20, y: 20.");
}

Если <my-custom-element> находится вблизи верхнего левого угла области просмотра и содержит один <div>, вышеприведённый код может вернуть одно из следующих значений, в зависимости от реализации браузера:

div
div < my-custom-element < body < html

Спецификации

Не является частью какого-либо стандарта.

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
elementsFromPoint
53До Chrome 66 этот метод возвращал null когда элемент был дочерним узлом узла-хоста. См. ошибку 40537452.
79 63 40 11.1
53До Chrome Android 66 этот метод возвращал null когда элемент был дочерним узлом узла-хоста. См. ошибку 40537452.
63 41 11.3
6.0До Samsung Internet 9.0 этот метод возвращал null когда элемент был дочерним узлом узла-хоста. См. ошибку 40537452.
53До WebView Android 66 этот метод возвращал null когда элемент был дочерним узлом узла-хоста. См. ошибку 40537452.

См. также

  • ShadowRoot.elementFromPoint()
  • Document.elementsFromPoint()

© 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/ShadowRoot/elementsFromPoint

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API