Задать вопрос
Ingernirated
@Ingernirated
Романыч

Как не вызвать функцию автоматически?

Почему функция автоматически вызывается при открытии страницы, я же только задал объекту событие и название функции с аргументом, но не вызывал же отдельно roar("hello");
Как просто добавить объекту возможность вызывать функцию не автоматический, а как и задано, при нажатии?
(причем в хроме всё спокойно, почему? Это фаерфокс и другие браузеры начинают сразу её вызывать)
function roar(word) {
	alert(word);
}
document.querySelector(".north").addEventListener("click", roar("hello"));
  • Вопрос задан
  • 155 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
romy4
@romy4
Exception handler
потому что передаётся значение выполнения функции roar.
ваш вариант
function roar(word) {
  alert(word);
}
document.querySelector(".north").addEventListener("click", function(){ roar('hello'); });

то есть передаётся указатель на функцию (сама сущность, объект), а не форма её вызова
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Carduelis
@Carduelis
Web-developer, front-end, js, less
function roar(event) {
   console.log(event)
}
document.querySelector(".north").addEventListener("click", roar);

Так в roar передастся объект события. И функция будет вызвана только по клику.
P.S.: очень вопрос меня волнует. Что происходит в голове у людей, которые используют вместо наречия "автоматически" прилагательное "автоматический"? Это какой-то особенный ген, лишняя хромосома? В чем прикол этого?
Ответ написан
Ваш ответ на вопрос

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

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