В чем разница между currentTarget и target

«В чем разница между currentTarget и target» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

currentTarget и target — это свойства события в DOM, которые указывают на разные элементы:

  • target — элемент, на котором произошло событие (например, кнопка, на которую кликнули).
  • currentTarget — элемент, к которому привязан обработчик события (может быть родителем target при всплытии).

Пример:

document.querySelector('.parent').addEventListener('click', (e) => {
  console.log('target:', e.target);       // Кликнутый элемент (например, кнопка)
  console.log('currentTarget:', e.currentTarget); // Родительский элемент с обработчиком
});

Разница важна при всплытии событий: target остаётся исходным элементом, а currentTarget меняется при прохождении через каждый обработчик в цепочке.