Преимущества использования addEventListener() перед устаревшим методом attachEvent():
- Совместимость с современными браузерами. 15 addEventListener поддерживается большинством современных браузеров, в то время как attachEvent — только старыми версиями Internet Explorer (IE5+ и IE5–8*). 15
- Возможность зарегистрировать несколько прослушивателей событий без перезаписи предыдущих. 1 addEventListener позволяет добавлять несколько обработчиков на одно событие в определённом порядке. 24
- Получение текущего элемента при обработке события. 2 Функция-обработчик attachEvent не получает текущий элемент, на котором сработало событие. 2
Таким образом, выбор между этими методами зависит от требований к совместимости с браузерами: для современных браузеров предпочтительнее addEventListener(), а attachEvent() можно использовать для старых версий IE. 15