2013-08-23 9 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')"; 

To:

newButton.onclick= function(){ document.write('Tasto premuto') }; 
Смежные вопросы