> Как проверить тег элемента в обработчике события клика в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Яндекс
Стек: JavaScript
> Пример ответа
В обработчике события клика можно проверить тег элемента через свойство tagName или nodeName целевого элемента. Самый надёжный способ - использовать event.target, который ссылается на элемент, по которому фактически кликнули (даже если обработчик висит на родителе).
Пример:
JAVASCRIPTdocument.addEventListener('click', function(event) {const target = event.target;if (target.tagName === 'BUTTON') {console.log('Клик по кнопке');}// или через nodeName (возвращает в верхнем регистре)if (target.nodeName === 'DIV') {console.log('Клик по div');}});
Если нужно проверить, что клик произошёл именно на элементе с определённым тегом, а не на его вложенных дочерних элементах, используйте event.currentTarget (элемент, на котором висит обработчик) или проверяйте closest():
JAVASCRIPTelement.addEventListener('click', function(event) {// Проверка, что кликнули именно по кнопке внутри элементаconst button = event.target.closest('button');if (button) {console.log('Клик по кнопке внутри элемента');}});
Важно: tagName и nodeName возвращают тег в верхнем регистре (например, 'DIV', 'SPAN'), поэтому сравнение лучше делать с заглавными литералами.
> Похожие задачи по frontend
Какие типы данных являются ссылочными в JavaScript?
Каков порядок выполнения setTimeout и промисов в JavaScript при вложенных вызовах
Каков порядок вывода консольных логов при использовании setTimeout и промисов в JavaScript
Можно ли отлавливать события на фазе погружения (capture phase) в JavaScript и как это сделать
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью