Ingernirated
@Ingernirated
Романыч

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

Почему функция автоматически вызывается при открытии страницы, я же только задал объекту событие и название функции с аргументом, но не вызывал же отдельно roar("hello");
Как просто добавить объекту возможность вызывать функцию не автоматический, а как и задано, при нажатии?
(причем в хроме всё спокойно, почему? Это фаерфокс и другие браузеры начинают сразу её вызывать)
function roar(word) {
	alert(word);
}
document.querySelector(".north").addEventListener("click", roar("hello"));
  • Вопрос задан
  • 140 просмотров
Решения вопроса 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.: очень вопрос меня волнует. Что происходит в голове у людей, которые используют вместо наречия "автоматически" прилагательное "автоматический"? Это какой-то особенный ген, лишняя хромосома? В чем прикол этого?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы