点击一个按钮运行一个功能-不工作

Onclick of a button run a function - not working?

本文关键字:一个 工作 功能 运行 按钮      更新时间:2023-09-26

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()RESULT分配给onclick处理程序。

试试这个:

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;

您需要将函数调用hi()放入一个匿名函数:

document.getElementById("go-btn").onclick = function() {hi()};