2014-12-19 5 views
2

Так что у меня только 6 строк кода в моем файле page.js, и они:Функция Javasctipt работает без вызова?

document.getElementById("desired").addEventListener("blur", gradeChange()); 
document.getElementById("calculate").addEventListener("click", gradeChange()); 

function gradeChange() {                
    var dog = document.getElementById("desired").value;        
    console.log(dog);                 
} 

И в моем page.html у меня есть:

<input id="desired" type="text"> 

и где-то еще:

<button id="calculate" type="button">Calculate</button> 

Я думал, что это будет работать без кнопки, так что, когда я набрал что-то в текстовом поле, а затем оставил текстовое поле, оно появится в журнале. Но ничего не появилось, поэтому я добавил кнопку, чтобы сделать ее более прямой. Тем не менее, он ничего не сделал в журнале. Любая идея, почему ничего не появляется?

+0

Вы вызываете функцию прямо: 'gradeChange()'. JavaScript сначала оценивает аргументы, поэтому, когда у вас есть 'foo (bar())', 'bar' вызывается первым, а его возвращаемое значение передается' foo'. –

+0

Ваш код на вашей странице перед HTML. Если это так, переместите тег '

Смежные вопросы