2014-12-19 2 views
2

그래서 난 단지 내 page.js 파일의 코드 6 개 회선이 있고 그들은 :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하는 기능 gradeChange에게

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

변경 gradeChange를 호출'gradeChange()'. JavaScript는 먼저 인수를 평가하므로,'foo (bar())'가 있으면'bar'가 먼저 호출되고 반환 값이'foo'에 전달됩니다. –

+0

코드가 HTML보다 먼저 페이지에 있는지 확인하십시오. 그렇다면'