Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2012, 11:46
Профессор
Отправить личное сообщение для Артем125 Посмотреть профиль Найти все сообщения от Артем125
 
Регистрация: 01.10.2009
Сообщений: 158

Набор элементов
Здравствуйте!


Сейчас мне приходится вешать событие на каждый input, а как можно повесить функцию на событие onСlick для всех Input которые находятся в div
function inform(){
alert(this)
}

<div>
<input onclick="inform()"  />
<input onclick="inform()" />
...
<div>
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2012, 12:08
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Вот некроссбраузерный (от ie 8) пример на скорую руку:
function setEvents(selector, ev){
  var elements = document.querySelectorAll(selector), x;
  for (x = 0; x < elements.length; x++){
    elements[x].onclick = inform;
  }
}

Смотреть тут.

Последний раз редактировалось GuardCat, 17.01.2012 в 12:22.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2012, 12:23
Профессор
Отправить личное сообщение для Артем125 Посмотреть профиль Найти все сообщения от Артем125
 
Регистрация: 01.10.2009
Сообщений: 158

а кросбраузерно, пжст
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2012, 12:45
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Вообще и на форуме и в статьях и в Интернете много информации по кроссбраузерной выборке элементов. JQuery опять же.
И, даже не читая, как минимум, костыль одноразовый можно написать. Вот такой, например.
function getAllInputsFromAllDivs(){
  var x, y, inputs, result = [], divs = document.getElementsByTagName("div");
  for (x = 0; x < divs.length; x++) {
    inputs = divs[x].getElementsByTagName("input");
    for (y = 0; y < inputs.length; y++) {
      result.push(inputs[y]);
    }
  }
  return result
}

Как его прикостылить.
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2012, 19:20
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

А что так мешает сделать?
<div>
<input type='button' value='button1'>
<input type='button' value='button2'>
</div>
<script>
var div = document.getElementsByTagName('div')[0]
var inputs = div.getElementsByTagName('input')
for(i=0;i<inputs.length;i++)
inputs[i].onclick = function () { alert('work') }
</script>
__________________
оляля, ололо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Можно ли сравнить атрибуты у элементов? moonlight2 Общие вопросы Javascript 6 24.12.2011 00:45
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37
Набор веб-разработчика из программ которые должны быть у каждого JsEditor (X)HTML/CSS 13 23.10.2010 10:19
Быстрый разбор списка элементов. B~Vladi Общие вопросы Javascript 31 14.07.2010 15:52