Добавление события нескольким элементам
Задача обратится к элементу id="1x1", 1x2, 1x3, 2x1, 2x2 .. и т.д.
и прописать на них действия, как настоящий ламер я попробовал написать в цикле ...{{ document.getElementById(j+"x"+i).onclick = function(){alert(j+" "+i)} }} Нечего не получилось и я стал гуглить нашел вот эту статью http://javascript.ru/forum/events/11...hlementam.html и по аналогии сделал так: <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 у меня все норм |
Меняя innerHTML вы уничтожаете дочерние элементы, вместе с этим уничтожаются и события на них повешенные. Поэтому событие остаётся только на последнем элементе.
Так что добавляйте события после того, как закончили менять содержимое с помощью innerHTML, например сделав ещё один цикл для этого. |
Часовой пояс GMT +3, время: 10:50. |