HTML:
<button id="go-btn">GO BUTTON!</button>
的javascript:
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
当我刷新页面时,在单击按钮之前弹出警报。为什么会这样?非常感谢!
答案 0 :(得分:3)
因为您在作业时调用它:
document.getElementById("go-btn").onclick = hi();
只需删除()
,然后将hi
- 函数分配给onclick
- 处理程序。
document.getElementById("go-btn").onclick = hi;
目前,您正在为hi()
处理程序分配onclick
的结果。
答案 1 :(得分:0)
试试这个:
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi;
请注意我是如何从作业中删除()
的。您在加载时立即调用该函数。
答案 2 :(得分:0)
你需要说:
document.getElementById("go-btn").onclick = function(){hi();}
否则,除了设置hi()
之外,它会调用onclick
函数。
另一种方法是:
document.getElementById("go-btn").onclick = hi;
答案 3 :(得分:0)
你可以做到
var hi = function(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
或
document.getElementById("go-btn").onclick = hi;
答案 4 :(得分:-1)
您需要将函数调用hi()
放入匿名函数中:
document.getElementById("go-btn").onclick = function() {hi()};