Книга: JavaScript. Подробное руководство, 6-е издание
15.8.3. Определение элемента в указанной точке
15.8.3. Определение элемента в указанной точке
Метод getBoundingClientRect()
позволяет узнать текущую позицию элемента в видимой области. Но иногда бывает необходимо решить обратную задачу - узнать, какой элемент находится в заданной точке внутри видимой области. Сделать это можно с помощью метода elementFromPoint()
объекта Document
. Он принимает координаты X и Y (относительно начала координат видимой области, а не документа) и возвращает объект Element
, находящийся в этой позиции. На момент написания этих строк алгоритм выбора элемента не был строго определен, но суть реализации метода сводится к тому, что он должен возвращать самый внутренний и самый верхний (в смысле CSS-атрибута z-index, который описывается в разделе 16.2.1.1) элемент, находящийся в этой точке. Если передать ему координаты точки, находящейся за пределами видимой области, метод elementFromPoint()
вернет null, даже если после преобразования координат в систему координат документа получится вполне допустимая точка.
Метод elementFromPoint()
выглядит весьма практичным, и наиболее очевидный случай его использования - определение элемента, находящегося под указателем мыши по его координатам. Однако, как будет показано в главе 17, объект события от мыши уже содержит эту информацию в своем свойстве target
. Именно поэтому на практике метод elementFromPoint()
почти не используется.
- 1.2. Определение количества информации. Единицы измерения количества информации
- Определение версии клиента
- Определение пользовательского формата числовых данных
- Определение целей. Построение цепочек
- Письма с элементами графики и вложениями
- Определение необходимого системного вызова
- Раздел 1 Лояльность: определение и ключевые факторы
- Определение позиционного уровня
- 3.3. Определение объектов защиты
- Определение собственной миссии
- Определение факторов риска
- Определение контекстно-связанных объектов