Повесить событие до вставки в DOM
Создаю картинку
Код:
var IMG=document.createElement("IMG"); Код:
for (var i=0; i<4; ++i) { Поставил тот же onclick на d непосредственно перед вставкой в DOM - работает. Смутно помню, что где-то что-то меня предупреждали, но не было потребности и не запомнил даже суть. Это cloneNode не клонирует обработчики, или что ещё? Подскажите или дайте ссылку. Спасибо |
Цитата:
NG2016, Цитата:
Сделай так: <!doctype html> <html><head><meta charset="utf-8"> </head><body> <script type="text/javascript"> function createImg(str) { var img = document.createElement("img"); img.src = 'http://javascript.ru/forum/images/editor/insertimage.gif'; img.onclick = function(){alert('картинка №' + str)}; return img } var div = document.createElement("div"); for(var i = 0; i < 4; i++) { var imgEl = createImg(i + 1); div.appendChild(imgEl); } document.body.appendChild(div); </script> </body></html> |
Спасибо, работает. Правда долго не мог понять почему :)
Теперь интересует теоретический вопрос, а что будет потреблять больше ресурсов - клонирование или создание. Мне кажется, что создание будет требовать больше ресурсов, т.к. данные функции создающей элемент будут оставаться в памяти. |
Часовой пояс GMT +3, время: 02:36. |