event.target — элемент, который первоначально запустил событие (например, конкретный элемент, на который пользователь кликнул)event.currentTarget — элемент, к которому прикреплён обработчик событияEvent delegation — это паттерн, при котором один обработчик размещается на родительском элементе для обработки событий его потомков. Вот где различие становится критически важным:
event.target указывает на дочерний элемент, по которому кликнулиevent.currentTarget всегда указывает на родительский элемент с обработчиком<ul id="menu">
<li>Home</li>
<li>About</li>
</ul>
document.getElementById('menu').addEventListener('click', (event) => {
console.log(event.target); // <li> по которому кликнули
console.log(event.currentTarget); // <ul id="menu">
});
Когда пользователь кликает на <li>About</li>:
event.target → <li>About</li>event.currentTarget → <ul id="menu">Это различие позволяет тебе эффективно управлять событиями на динамически добавленных дочерних элементах без навешивания отдельных обработчиков на каждый из них.
event.currentTarget всегда указывает на элемент, который изначально вызвал событие, независимо от распространения события или способа подписания на слушатель.
Новый — ещё не проверен сообществом
Вы