Назад к вопросам
Junior
80
questionbank

Как добавить слушатель события в JavaScript?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

addEventListener — современный и предпочтительный способ.

// Получаем элемент
const button = document.getElementById('myButton');

// Добавляем обработчик события 'click'
button.addEventListener('click', function() {
  // Код, который выполнится при клике
  console.log('Кнопка нажата!');
});

Он позволяет добавлять несколько обработчиков одного типа события к одному элементу, контролировать фазу (захват или всплытие) и легко удалять обработчики с помощью removeEventListener.

attachEvent — устаревший метод для Internet Explorer (до версии 11).

// Проверка существования attachEvent (для обратной совместимости)
if (element.attachEvent) {
  element.attachEvent('onclick', function() {
    // Делаем что-то
  });
}

Использование inline-обработчиков, присваивая функцию напрямую свойству элемента, например onclick.

<button onclick="myFunction()">Нажми меня</button>

<script>
function myFunction() {
  console.log('inline click');
}
</script>

Этот метод считается менее гибким, так как можно назначить только один обработчик данного типа события на элемент, и смешивает HTML и JavaScript.

Сводная таблица:

Метод Совместимость Множественные обработчики Управление фазой Удаление обработчика
addEventListener Все современные Да Да Легко
attachEvent Старый IE Да Нет Легко
Inline (onclick) Все Нет Нет Нет (только перезапись)