Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2012, 01:41
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Как записать все елементы в массив, чтобы потом применить ко всем сразу событие?
Как записать все элементы в массив (или объект), чтобы потом применить ко всем ним какое-нибудь событие?
Т.е. нужно что-то навроде

var masel = [];

masel[1] = document.getElementById("id1");
masel[2] = document.getElementById("id2");
masel["onclick"] = function.....

Последний раз редактировалось platedz, 22.08.2012 в 01:47.
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2012, 07:31
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

for (var i = 1, m = masel.length; i < m; i++) {
    masel[i].onclick = ..............
}
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2012, 11:56
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спасибо за ответ. А сразу ко всем никак нельзя? Получается, что мне в каждом методе необходимо сделать цикл.
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2012, 13:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

platedz,
Есть Вариант отслеживания событий на общем родителе, с последующим определением элемена клика
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2012, 14:21
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от platedz Посмотреть сообщение
Спасибо за ответ. А сразу ко всем никак нельзя? Получается, что мне в каждом методе необходимо сделать цикл.
http://learn.javascript.ru/event-delegation
Ответить с цитированием
  #6 (permalink)  
Старый 22.08.2012, 21:59
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

А почему так не выходит?
<div id="id1">id1</div><div id="id2">id2</div>
<script> alert(document.getElementById("id1","id2").innerHTML); </script>
Ответить с цитированием
  #7 (permalink)  
Старый 22.08.2012, 22:12
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Потому что так сделали
Ответить с цитированием
  #8 (permalink)  
Старый 22.08.2012, 22:49
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Сообщение от platedz Посмотреть сообщение
А почему так не выходит?
<div id="id1">id1</div><div id="id2">id2</div>
<script> alert(document.getElementById("id1","id2").innerHTML); </script>
Функция document.getElementById принимает только 1 параметр.
Ответить с цитированием
  #9 (permalink)  
Старый 22.08.2012, 23:16
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спасибо за ответ. Думаю попробовать с помощью elem.querySelectorAll(css). Вроде написано что ie8 он поддерживает, а на более низкие я уже особо не ориентируюсь.
Ответить с цитированием
  #10 (permalink)  
Старый 23.08.2012, 00:54
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Если я правильно понимаю, при делегировании событий идет обход всех дочерних элементов начиная с текущего, пока он не достигнет установленного родителя.

Т.е. чтобы обратиться к любому элементу на странице мне необходимо по идее записывать или document.onclick = function(){и здесь осуществлять проверку на то, произошло ли данное событие на нужном мне элементе}
Я верно понимаю.

Последний раз редактировалось platedz, 23.08.2012 в 01:11.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать в массив все id дочерних эжементов Alexxiss Общие вопросы Javascript 1 18.08.2012 14:03
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
Как применить css ко всем элементам внутри блока MaxB jQuery 12 28.05.2010 07:56
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37