Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2012, 20:42
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

Добавление события нескольким элементам
Задача обратится к элементу id="1x1", 1x2, 1x3, 2x1, 2x2 .. и т.д.
и прописать на них действия, как настоящий ламер я попробовал написать в цикле

...{{
document.getElementById(j+"x"+i).onclick = function(){alert(j+" "+i)}
}}


Нечего не получилось и я стал гуглить
нашел вот эту статью Добавление события нескольким элементам

и по аналогии сделал так:


<div id="stage">
</div>
<script>
var stage = document.getElementById('stage');
W = 3;

for(i=1;i<=W;i++){
	for(j=1;j<=W;j++){
		stage.innerHTML+='<div  id="'+j+"x"+i+'">'+j+' '+i+'</div>';
		document.getElementById(j+"x"+i).onclick = function(j,i){ return function(){ alert(j+" "+i) } }(j,i)
	}
}
</script>


но в итоге у меня ни чего не работает,
а вот со вариантом a1, a2, a3 у меня все норм
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2012, 21:38
Аватар для a_l
a_l a_l вне форума
Кандидат Javascript-наук
Отправить личное сообщение для a_l Посмотреть профиль Найти все сообщения от a_l
 
Регистрация: 15.09.2011
Сообщений: 143

Меняя innerHTML вы уничтожаете дочерние элементы, вместе с этим уничтожаются и события на них повешенные. Поэтому событие остаётся только на последнем элементе.
Так что добавляйте события после того, как закончили менять содержимое с помощью innerHTML, например сделав ещё один цикл для этого.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Применение функции с таймаутом к нескольким элементам vvsh Элементы интерфейса 1 12.04.2012 10:54
Динамическое добавление события keydown элементу body Arigato Events/DOM/Window 3 13.12.2011 21:38
Добавление события нескольким элементам Askhsiv Events/DOM/Window 1 13.08.2010 22:58
Добавление события Skipp Events/DOM/Window 23 29.06.2010 10:09
Добавление события Google-календарь InviS Серверные языки и технологии 0 04.05.2010 04:48