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

Javascript 点击一个按钮运行一个功能-不工作?,javascript,jquery,html,function,onclick,Javascript,Jquery,Html,Function,Onclick,html: 当我刷新页面时,在单击按钮之前会弹出警报。为什么会这样?非常感谢 您需要将函数调用hi()放入匿名函数中: function hi(){ alert("hi"); } document.getElementById("go-btn").onclick = hi(); 因为您在分配任务时调用它: document.getElementById("go-btn").onclick = function() {hi()}; var hi = function(){ a

html:


当我刷新页面时,在单击按钮之前会弹出警报。为什么会这样?非常感谢

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

function hi(){
    alert("hi");
}

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

因为您在分配任务时调用它:

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

document.getElementById("go-btn").onclick = hi();
只需删除
()
,然后将
hi
-函数分配给
onclick
-处理程序

document.getElementById("go-btn").onclick = hi();
当前,您正在将
hi()
结果分配给
onclick
-处理程序。

尝试以下操作:

document.getElementById("go-btn").onclick = hi();
document.getElementById("go-btn").onclick = hi;
注意我是如何从作业中删除
()
。您正在加载时立即调用该函数。

您需要说:

function hi(){
    alert("hi");
}

document.getElementById("go-btn").onclick = hi;
否则,它将调用
hi()
函数,而不是将其设置为
onclick

另一种方法是:

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

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

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