Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2010, 14:36
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

"Слетает" onclick.
На страничке при помощи innerHTML() динамически рисуется список HTML-элементов и ,динамически же, каждому из них назначается обработчик события:

var lis = wrap.getElementsByTagName('li');
for(var i=0; i<lis.length; i++){
	lis[i].firstChild.onclick = function(){  //firstChild - это <span> такой (вроде кнопки)
		appendNewListHere();
	};
}

appendNewListHere() - рисует ещё один список внутрь текущего (получается список в списке).

Проблема в том, что когда вставляется внутренний список, то "слетает" обработчик "onclick" для элемента, который только что отрисовал вложенный список.

Мысль (почему это происходит): быть может это связано с тем, что поменялось DOM-дерево.

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

Сообщение от Jurasmi
быть может это связано с тем, что поменялось DOM-дерево.
Т.е. элементы, на которые вы вешали события, уже не существуют?
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2010, 14:54
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

Сообщение от Kolyaj Посмотреть сообщение
Т.е. элементы, на которые вы вешали события, уже не существуют?
Вы совершенно правы! Я пишу так:
oldHTML.innerHTML = oldHTML.innerHTML + newListHTML;


т.е. вместе с новым (внутренним) списком перерисовывается ещё и кнопка на которой висел "onclick".

Спасибо большое!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание события onclick? kerranswell Events/DOM/Window 31 09.05.2011 21:20
Блок, игнорирующий onclick Bxman Events/DOM/Window 6 31.08.2010 20:42
Обработка onClick lliberty Общие вопросы Javascript 2 03.04.2010 22:54
Событие onClick avtor01 Events/DOM/Window 3 03.09.2009 18:01
Изменить текст под изображением на котором событие onclick GodRa Общие вопросы Javascript 2 12.11.2008 23:15