повесить событие на кнопку
// добавляем кнопку var btndiv = document.createElement("div"); var btn = document.createElement('input'); btndiv.id = 'divBtn'; btn.type = 'button'; btn.value = 'Go!' ; btn.onclick = "alert('Test')"; // Не появляется в коде HTML!!! btndiv.appendChild(btn); document.body.appendChild(btndiv); 1) не работает событие на добавляемой кнопке (даже в HTML не появляется) 2) не получается добавить кнопку в другое место документа: tb1=document.getElementsByClassName('br_ser'); tb1.appendChild(btn); // Ошибка! Ошибка: tb1.appendChild is not a function Помогите, пожалуйста ( |
Не правильно ты, дядя Фёдор, бутерброд ешь...
<body> <script> // добавляем кнопку var btndiv = document.createElement("div"); var btn = document.createElement('input'); btndiv.id = 'divBtn'; btn.type = 'button'; btn.value = 'Go!' ; btn.onclick = function(){alert('Test')}; btndiv.appendChild(btn); document.body.appendChild(btndiv); </script> </body> |
Цитата:
document.getElementsByClassName('br_ser') возвращает коллекцию элементов, а у коллекции/массива нет метода appendChild()... |
Спасибо, но в строке
btn.onclick = function(){alert('Test')}; появляется ошибка: Ошибка: Component is not available Странно, а здесь на странице пример работает. % Я код использую в GreaseMonkey |
Цитата:
Я смотрел в ИЕ7 и Опере... |
Посмотрел еще в ФФ и Хроме - всё работает без ошибок...
<!DOCTYPE html> <html> <head> <title>test</title> <style type="text/css"> </style> <script type="text/javascript"> </script> </head> <body> <script> // добавляем кнопку var btndiv = document.createElement("div"); var btn = document.createElement('input'); btndiv.id = 'divBtn'; btn.type = 'button'; btn.value = 'Go!' ; btn.onclick = function(){alert('Test')}; btndiv.appendChild(btn); document.body.appendChild(btndiv); </script> </body> </html> |
FF 3.6.16, Greasemonkey 0.9.6
var btndiv = document.createElement("div"); var btn = document.createElement('input'); btndiv.id = 'divBtn'; btn.type = 'button'; btn.value = 'Go!' ; btn.onclick = function() {alert('Test')}; // ругается на эту строку btndiv.appendChild(btn); document.body.appendChild(btndiv); вставил сразу после заголовка скрипта. Если вышеуказанную строку закомментировать, то кнопка появляется. Если строка без комментов - ошибка: Component is not available Самое интересное, что ваш пример на этой странице работает нормально. Щас с ума сойду (( |
btn.onclick = "alert('Test')"; а так ошибок не выдает, кнопка появляется, но onClick на ней в коде отсутствует |
Даже так ошибка появляется та же самая
btn.onclick = function() {}; |
Вобщем не у одного меня такой глюк с Greasemonkey и button.onclick (
В инете нашел простое решение: btn.setAttribute("onclick", "alert('Test!')"); Заработало! |
Часовой пояс GMT +3, время: 10:09. |