Sobes.tech
Назад к вопросам
Middle
6

Знаешь разницу между event.target и event.currentTarget?

Компании, где спрашивали
Ростелеком

Ответ от нейросети

sobes.tech AI

event.target и event.currentTarget — это свойства объекта события в JavaScript, которые часто вызывают путаницу.

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

Пример:

<div id="parent">
  <button id="child">Нажми меня</button>
</div>
<script>
  const parent = document.getElementById('parent');
  parent.addEventListener('click', (event) => {
    console.log('target:', event.target.id);        // элемент, на котором кликнули
    console.log('currentTarget:', event.currentTarget.id); // элемент, на котором висит обработчик
  });
</script>

Если кликнуть по кнопке, event.target будет child, а event.currentTargetparent. Это важно для делегирования событий и правильной обработки взаимодействий.