Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обработка onclick динамически созданного объекта (https://javascript.ru/forum/events/30684-obrabotka-onclick-dinamicheski-sozdannogo-obekta.html)

skulema 12.08.2012 13:22

Обработка onclick динамически созданного объекта
 
var a=new Array();
var i=0;
function add_str()
{
var but_save = document.createElement('input');//создается кнопка
var num_text = document.createElement('input');//создается текстовое поле
var br_str = document.createElement('p');//создается тег br

but_save.type='button';
but_save.value='Сохранить'+i;
but_save.name="but"+i;
but_save.id="bt";

num_text.type='text';
num_text.size='10';
num_text.id="text"+i;

a[i]=but_save.name;
if (i==0) 
{
document.main.appendChild(num_text;)//добавление первого текстового поля
document.main.appendChild(but_save);//добавление первого кнопки
document.main.appendChild(br_str);//перенос строки
}
else 
{
alert('lol');
main.insertBefore(num_text, document.main.elements[1]);
main.insertBefore(but_save, document.main.elements[2]);
main.insertBefore(br_str, document.main.elements[3]);}
alert(a.join());
i=i+1;
alert(i);
};


var addEvent, removeEvent;

if (document.addEventListener) { // проверка существования метода
    addEvent = function(elem, type, handler) {
        elem.addEventListener(type, handler, false)
    }
    removeEvent = function(elem, type, handler) {
        elem.removeEventListener(type, handler, false)
    }
} else {
    addEvent = function(elem, type, handler) {
        elem.attachEvent("on" + type, handler)
    }
    removeEvent = function(elem, type, handler) {
        elem.detachEvent("on" + type, handler)
    }
}
addEvent(document.main.but0, "click", function() { alert('hi') })



Динамически создается кнопка but0, но событие CLICK не обрабатывается. На статических кнопках код работает. Помогите пожалуйста разобраться:)

Deff 12.08.2012 13:57

var but_save = document.createElement('input');//создается кнопка
but_save.setAttribute("onclick","FuncClick(this)")

skulema 12.08.2012 14:57

спасибо:)заработало


Часовой пояс GMT +3, время: 20:48.