2012-05-19 21 views
1

我試圖以編程方式插入到dijit.form.Button一些HTML autoclicking和我的代碼是這樣的:新dijit.form.Button不斷在聲明

row.innerHTML = '<td>Name:</td><td id="showname" />'; 
var showButton = new dijit.form.Button({ 
    label: "Show name", 
    style: "float: right", 
    onClick: show_name(), 
}, "showname") 

但每次我刷新和更新該頁面,它會自動運行show_name(),這不是我想要的。任何人都可以給我一些見解,爲什麼會發生這種情況,以及我如何修復它,以便show_name()僅在按鈕被單擊時運行?

謝謝。

+1

試試'show_name',或'function(){show_name(); ''JavaScript以神祕的方式工作。 –

+0

發佈此作爲答案,它的工作,非常感謝 – jayjyli

回答

2

試試show_namefunction() { show_name(); }

我的解釋是你需要一個函數引用,而不是函數調用,它將返回值(可能沒有)返回到onClick。第一個選項在沒有參數傳遞的情況下工作,第二個選項可以傳遞任何東西到show_name()

+0

是的,這些選項的任何工作。事實證明,JS將它視爲一個函數調用而不是參數定義。非常感謝! – jayjyli

+0

不客氣!樂意效勞 :) –