Подтвердить что ты не робот

Получить элемент html, в котором произошел щелчок мыши?

В javascript я хотел бы определить элемент на странице html, в которой происходит щелчок мыши. Обратите внимание, что элементы не будут подключены к прослушивателю событий.

В основном: курсор где-то на странице, пользователь щелкает мышью, захватывает событие щелчка мыши, получает элемент, в котором произошел щелчок. Возможно ли это?

Один из подходов, о котором я думал, - это получить координаты x, y события click, выполнить итерацию через DOM, чтобы получить позиции для каждого элемента, и найти самый внутренний элемент, который содержит событие click. Звучит немного затянутым - так было интересно, есть ли другой способ.

4b9b3361

Ответ 1

http://www.quirksmode.org - очень хороший сайт, который многое объясняет событиям.

Специально для вашего вопроса: Свойства события - Какой элемент HTML является объектом события?.

В Internet Explorer вы можете получить элемент из объекта event с помощью event.srcElement [docs] и во всех других браузерами с event.target [docs].

Также см. обходной путь "Ошибка Safari" в примере, к которому я привязан (хотя я не знаю, существует ли он еще и/или в какой версии Safari).

Ответ 2

Попробуйте event.target. На этой странице есть пример, показывающий, как его использовать.