HTML:點擊按鈕運行一個功能 - 不工作?
<button id="go-btn">GO BUTTON!</button>
的javascript:
function hi(){
alert("hi");
}
document.getElementById("go-btn").onclick = hi();
當我刷新之前,我按一下按鈕警報彈出的頁面。這是爲什麼發生?非常感謝!
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;