2014-11-06 56 views
1

HTML:點擊按鈕運行一個功能 - 不工作?

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

的javascript:

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

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

當我刷新之前,我按一下按鈕警報彈出的頁面。這是爲什麼發生?非常感謝!

回答

3

因爲你在呼喚它,而分配:

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

只需卸下()和您指定的hi - 功能到onclick-處理程序。

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

當前正在分配結果hi()onclick -handler

-1

你需要把你的函數調用hi()成一個匿名函數:

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

試試這個:我

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

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

注意如何從分配去除()。您在加載時立即調用該函數。

0

你需要說:

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

否則,它會調用該函數hi()除了設置它onclick

另一種方式來做到這一點:

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

你可以做

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

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

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