странице множество одинаковых кнопок, и я хочу повесить на них одинаковый функционал. Что бы не писать
document.querySelectorAll('.btn')И потом циклом на все кнопки навешивать обработчик, я хочу написать:
window.addEventListener('click', function(e){})Но не могу понять, как мне отловить момент, что сейчас всплытие находится на кнопке?
Или я вообще не в ту сторону копаю?
Не в ту, событие "всплывает" до window уже после кнопок. И тебя это тут никак волновать не должно
А как мне тогда быть в этом случае? Внутри кнопки у меня есть иконка, и в event.target у меня иногда попадает icon, вместо кнопки. Добавить Проверку что в event.target кнопка или иконка?
А еще в событии есть поле delegateTarget.activeElement, и в нем лежит моя кнопка, даже если нажатие было на иконку внутри кнопку. Первый раз вижу это свойство, можно ли на него расчитывать?
В доке нигде такого не видно, только в jQ
Если icon внутри кнопки, то можно использовать contains для проверки
Тоже не могу ни где найти это свойство кроме jq, но у меня jq к странице точно не подключён. Нашёл решение своей проблемы у Кантора https://learn.javascript.ru/event-delegation Спасает проверка что сейчас кнопка или текущий элемент внутри кнопки ( event.target.closest)
Обсуждают сегодня