点击按钮运行一个功能 - 不工作?
问题描述:
HTML:点击按钮运行一个功能 - 不工作?
<button id="go-btn">GO BUTTON!</button>
的javascript:
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
当我刷新之前,我按一下按钮警报弹出的页面。这是为什么发生?非常感谢!
答
因为你在呼唤它,而分配:
document.getElementById("go-btn").onclick = hi();
只需卸下()
和您指定的hi
- 功能到onclick
-处理程序。
document.getElementById("go-btn").onclick = hi;
当前正在分配结果hi()
到onclick
-handler。
答
你需要把你的函数调用hi()
成一个匿名函数:
document.getElementById("go-btn").onclick = function() {hi()};
答
试试这个:我
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi;
注意如何从分配去除()
。您在加载时立即调用该函数。
答
你需要说:
document.getElementById("go-btn").onclick = function(){hi();}
否则,它会调用该函数hi()
除了设置它onclick
。
另一种方式来做到这一点:
document.getElementById("go-btn").onclick = hi;
答
你可以做
var hi = function(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
或
document.getElementById("go-btn").onclick = hi;