> Как определить элемент, по которому был произведен клик при делегировании событий в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Exness
Стек: JavaScript
> Пример ответа
При делегировании событий в JavaScript для определения элемента, по которому был произведен клик, используется свойство event.target. Оно возвращает самый вложенный элемент, на котором произошло событие, в отличие от event.currentTarget, который указывает на элемент, к которому привязан обработчик.
Пример:
JAVASCRIPTdocument.getElementById('parent').addEventListener('click', function(event) {const clickedElement = event.target; // Элемент, по которому кликнулиconsole.log('Кликнут элемент:', clickedElement.tagName);// Проверка, является ли кликнутый элемент нужным (например, кнопкой)if (clickedElement.matches('.my-button')) {console.log('Клик по кнопке с классом my-button');}});
Если нужно получить ближайший элемент с определенным селектором (например, при клике на дочерний элемент внутри контейнера), используйте closest():
JAVASCRIPTdocument.getElementById('list').addEventListener('click', function(event) {const listItem = event.target.closest('li');if (listItem) {console.log('Кликнут элемент списка:', listItem.textContent);}});
Важно: event.target может быть любым вложенным элементом (например, <span> внутри <li>), поэтому closest помогает найти родительский элемент с нужным селектором.
> Похожие задачи по frontend
Приведите пример разницы this и замыкания в JavaScript
Как работает всплытие и захват событий в JavaScript и какой обработчик сработает первым на div и кнопке
Как реализовать кэш с методами get, set, delete и clear с поддержкой TTL в JavaScript
Как обрабатывать JSON ответ в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью