Javasctipt函数在没有被调用的情况下运行?

Gra*_*ams 2 javascript console blur button

所以我的page.js文件中只有6行代码,它们是:

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

function gradeChange() {                                                              
    var dog = document.getElementById("desired").value;                               
    console.log(dog);                                                                 
}
Run Code Online (Sandbox Code Playgroud)

在我的page.html中,我有:

<input id="desired" type="text">
Run Code Online (Sandbox Code Playgroud)

和其他地方:

<button id="calculate" type="button">Calculate</button>
Run Code Online (Sandbox Code Playgroud)

我认为没有按钮就可以工作,所以当我在文本框中键入内容然后离开文本框时,它会显示在日志中.但没有任何表现,所以我添加了按钮,使其更直接.不过,它在日志中没有做任何事情.知道为什么没有出现吗?

ate*_*ich 5

gradeChange()调用函数gradeChange

document.getElementById("desired").addEventListener("blur", gradeChange());
document.getElementById("calculate").addEventListener("click", gradeChange());
Run Code Online (Sandbox Code Playgroud)

将gradeChange()更改为gradeChange

document.getElementById("desired").addEventListener("blur", gradeChange);
document.getElementById("calculate").addEventListener("click", gradeChange);
Run Code Online (Sandbox Code Playgroud)

  • 试试console.log('test'); 你的dog变量可能为null. (2认同)