Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2012, 12:50
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

сбивается событие
верстка
<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>'; };

то после первого добавления, все событие на дочерних элементах перестанут работать, как такое исправить? по новой раздавать событие не вариант
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2012, 13:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Менять innerHTML у внутреннего дива, а не у внешнего. Вы же содержимое новое вставляете, у которого нет никаких событий.
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2012, 13:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

czp,
В принципе, при добавках appendChild (ом), во внутрь внешнего, а не innerHTML - события вроде не теряюца, (*уточнил для мелких фишек, оставшихся внутри

Последний раз редактировалось Deff, 27.05.2012 в 14:20.
Ответить с цитированием
  #4 (permalink)  
Старый 27.05.2012, 15:05
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

так там вставляет текст appendChild не умеет вроде как текст вставлять, аяксом возвращает текст вот и приходится вставлять, и если вы заметили добавлять к существующему
Ответить с цитированием
  #5 (permalink)  
Старый 27.05.2012, 15:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от czp Посмотреть сообщение
так там вставляет текст appendChild не умеет вроде как текст вставлять, аяксом возвращает текст вот и приходится вставлять, и если вы заметили добавлять к существующему
Создайте предварительно скрытий div/span с id - в него запихиваете аякс - скрытый div/span вставляете и раскрываете
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2012, 16:15
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

а есть еше альтернатива?
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2012, 16:48
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от czp Посмотреть сообщение
а есть еше альтернатива?
Трудно назвать альтернотивой почти тоже самое-но делаю так
var d=document.createElement('div');
d.innerHTML='bla-bla';
wrapper.appendChild(d)

Последний раз редактировалось vadim5june, 27.05.2012 в 16:50.
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2012, 16:55
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

а если там список?
<ul>
<li></li>
<li></li>
</ul>

добавляем еше
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>

как быть?
Ответить с цитированием
  #9 (permalink)  
Старый 27.05.2012, 17:09
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

без разницы все просто вставляется-главное знать куда вставлять -внутрь ul или после
то есть вам строка приходит вида?
'<ul><li>....</ul>'
Ответить с цитированием
  #10 (permalink)  
Старый 27.05.2012, 17:10
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от czp
а если там список?
var d=document.createElement('ul');
d.innerHTML='<li>bla-bla</li>';
while (d.children.length) wrapper.appendChild(d.children[0])
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20
Как можно программно вызвать событие documenta onafterupdate nikolay84 Events/DOM/Window 1 08.07.2009 02:13
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40