2013-08-23 109 views
-1

我嘗試在頁面加載時創建一個按鈕。Onclick按鈕不起作用

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function createButton(){ 
var newButton = document.createElement("button"); 
newButton.onclick="document.write('Tasto premuto')"; 
var textButton = document.createTextNode("Premi qui"); 
newButton.appendChild(textButton); 
document.body.appendChild(newButton); 
} 
</script> 
</head> 
<body onload="createButton()"> 

</body> 
</html> 

該按鈕被成功創建,但我與onClick事件關聯的函數不起作用。有任何想法嗎?

+0

你要什麼的按鈕做什麼?你想在哪裏顯示「Tasto premuto」?你不應該使用'document.write',它會擦除​​整個頁面。 –

回答

5

onclick期望的功能,而不是一個字符串:

newButton.onclick = function() { document.write('Tasto premuto') }; 

請參閱本jsFiddle

當然,你應該知道,document.write()完全清除所有當前內容的DOM,而不是簡單地追加字符串到現有的內容。

+0

謝謝。我使用document.write()來清除DOM。爲什麼不直接寫有效的解決方案: newButton.onclick = document.write('Tasto premuto'); ? – Morris

1

你分配一個字符串函數指針:

變化:

newButton.onclick="document.write('Tasto premuto')"; 

要:

newButton.onclick= function(){ document.write('Tasto premuto') };