Задать вопрос
@hatrid
Учусь web программированию

Зачем ставить скобки после функции в атрибуте обработчика событий?

Когда вы "вешаете" обработчик событий через addEventListener, вторым аргументом вы указываете функцию, которая должна будет выполнится, когда пользователей будет как-либо взаимодействовать с элементом, причём функция указывается без скобок:
document.querySelector('div').addEventListener('click', func);
, что вполне логично, ведь нам важен не код функции, а не её результат.
Однако, если добавить обработчик событий через соответствующий определённому событию html атрибут, то после функции надо ставить скобки: <div onclick="func()"></div>. Почему в этом случае скобки надо ставить, а в первом - нет?
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@DanKud
Потому что внутри onclick добавляется код, который должен выполниться, а не передается функция.
Эта запись будет аналогична такой:
document.querySelector('div').addEventListener('click', () => {
    func();
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект