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

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

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

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Market-place Ростов-на-Дону
от 100 000 до 200 000 ₽
20 июн. 2024, в 17:08
3000 руб./в час
21 июн. 2024, в 22:53
1000 руб./за проект
21 июн. 2024, в 22:12
5000 руб./за проект