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

问题描述:

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;