сбивается событие
верстка
<div id="wrapper"> <div id="button"></div> </div> если на вложенный див поставить событие, и после динамически добавлять в родительський див данные(любые) к примеру : wrapper = document.getElementById('wrapper'); button = document.getElementById('button'); button.onclick = function() { wrapper.innerHTML += '<div>bla bla</div>'; }; то после первого добавления, все событие на дочерних элементах перестанут работать, как такое исправить? по новой раздавать событие не вариант |
Менять innerHTML у внутреннего дива, а не у внешнего. Вы же содержимое новое вставляете, у которого нет никаких событий.
|
czp,
В принципе, при добавках appendChild (ом), во внутрь внешнего, а не innerHTML - события вроде не теряюца, (*уточнил для мелких фишек, оставшихся внутри |
так там вставляет текст appendChild не умеет вроде как текст вставлять, аяксом возвращает текст вот и приходится вставлять, и если вы заметили добавлять к существующему
|
Цитата:
|
а есть еше альтернатива?
|
Цитата:
var d=document.createElement('div'); d.innerHTML='bla-bla'; wrapper.appendChild(d) |
а если там список?
<ul> <li></li> <li></li> </ul> добавляем еше <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> как быть? |
без разницы все просто вставляется-главное знать куда вставлять -внутрь ul или после
то есть вам строка приходит вида? '<ul><li>....</ul>' |
Цитата:
var d=document.createElement('ul'); d.innerHTML='<li>bla-bla</li>'; while (d.children.length) wrapper.appendChild(d.children[0]) |
Часовой пояс GMT +3, время: 21:50. |