单击按钮运行功能 - 不工作?

时间:2014-11-06 15:43:31

标签: javascript jquery html function onclick

HTML:

<button id="go-btn">GO BUTTON!</button>

的javascript:

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

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

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

5 个答案:

答案 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()};