maxon_by
@maxon_by
Frontender-developmeister

В чём отличия между .addEventListener() и .onclick = function() в JS?

В чём отличия между .addEventListener() и .onclick = function() в JS?
и
Почему сейчас используют чаще .addEventListener()

Может это версии разные?
Спасибо всем за ответы!
  • Вопрос задан
  • 2482 просмотра
Решения вопроса 1
OKyJIucT
@OKyJIucT
Sunshine reggae
addEventListener добавляет отслеживание любого события, которое укажешь, а onclick - только клики. Поэтому что использовать - зависит от задачи.

Кроме того, второй способ позволяет повесить только один обработчик события (следующий будет перезатирать предыдущий), в то время как первый - сколько угодно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
TT55EE
@TT55EE
Кшендерма ерендык
.onclick иногда удобнее программисту - не надо вызывать конструктор, уже есть готовое свойство

сравни псевдокод:

кнопка.онклик = функция_обработчик

кнопка.функция_добавить_онклик( тип_онклика, функция_обработчик )
Ответ написан
Комментировать
@SirYozhka
Иногда возникает соблазн инкапсулировать обработчик в функцию.
Но тогда при каждом вызове функции постоянно создаётся дополнительный addEventListener, а это чревато получением непредсказуемых результов. Особенно если к одному и тому же элементу будет привязан обработчик одинакового события в разных функциях.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы