addEventListener — современный и предпочтительный способ.
javascript
Он позволяет добавлять несколько обработчиков одного типа события к одному элементу, контролировать фазу (захват или всплытие) и легко удалять обработчики с помощью removeEventListener.
attachEvent — устаревший метод для Internet Explorer (до версии 11).
javascript
Использование inline-обработчиков, присваивая функцию напрямую свойству элемента, например onclick.
html
Этот метод считается менее гибким, так как можно назначить только один обработчик данного типа события на элемент, и смешивает HTML и JavaScript.
Сводная таблица:
| Метод | Совместимость | Множественные обработчики | Управление фазой | Удаление обработчика |
|---|---|---|---|---|
addEventListener | Все современные | Да | Да | Легко |
attachEvent | Старый IE | Да | Нет | Легко |
Inline (onclick) | Все | Нет | Нет | Нет (только перезапись) |