2012-01-24 48 views
1

我正在使用下面的代碼來創建一個複選框。我希望複選框可以調用另一個函數。問題是,當複選框被創建時,它會運行該函數,然後在單擊時不運行。Javascript appendChild複選框onclick沒有運行

var cb = document.createElement('input'); 
cb.type = 'checkbox'; 
cb.onclick = newfunction(); 
cb.name = "done"; 
cb.value = "done"; 
theCell.appendChild(cb); 

我該如何解決這個問題,以便我可以創建一個複選框,然後讓它在單擊時運行函數。我正在使用ie8和Firefox 8.謝謝!

回答

5

您正在執行newFunction而不是分配它。

刪除()

cb.onclick = newfunction; 

另外,如果您需要將參數傳遞到newFunction,在一個匿名函數把它包:

cb.onclick = function(){ 
    newfunction("something"); 
}; 
+1

你打了2秒鐘:) – albanx

+0

非常感謝! – Zombian

0

也許我錯了,但你應該使用它像此:

cb.onclick = newfunction;//NO BRACKETS in this case 

cb.onclick = function() { newfunction(); }