| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Регистрация события для большого кол-ва элементов |
| Автор: Forza 1.12.2004, 21:43 |
| Aliance, ok. А не можешь ли ты показать, как зарегистрировать один обработчик события (например, onfocus) для всех input type=text в форме/документе? На основе твоего описания у меня это не получилось. Этот обработчик должен уметь обращаться к параметрам этого текстового поля: в частности к его name. Буду очень признателен, если мне поможешь. |
| Автор: Aliance 4.12.2004, 21:47 | ||||||
Если применять только оф. метод - то только так:
Но это будет работать и для чекбоксов с радиобаттонами. Нужно писать проверку для них...но я не рекомендую так запариваться 8) ЗЫ: можно проще: document.getElementsByTagName("input").onfocus = myFunction; Еще тебе может быть полезна такая вещь:
Тут же можно и обращаться к имени объекта (target && target.tagName && target.tagName.toLowerCase() == "input") |
| Автор: Aliance 4.1.2005, 22:51 | ||
Хм...врятли...к id можно точно, к name`у не видел/пробовал. |
| Автор: Sardar 5.1.2005, 00:44 | ||
Aliance проверяй свой код Выборка даст список нод, у которого ты создаш новое свойство. Теперь имеем интерсный список, а ноды в нём содержащиеся остаются без изменений Forza открывай новый топик. Если хочешь зарегистрироватьобработчика события(сделать что угодно) для всех инпутов на странице, тогда выбери их: document.getElementsByTagName("INPUT"), затем пробегись циклом. Иначе обращайся к формам: document.forms.твоя_форма.elements - тоже пробегаемся циклом. Выбрать любой атрибут включая name можно через node.getAttribute("name"), хотя согласно DOM1 html элементы имеют свой расширенный интерфейс, например инпуты имеют свойство name: alert(инпут.name); Еще раз повторю: Forza открывай новый топик |
| Автор: Иль 21.4.2005, 19:34 | ||
Явное создание объекта типа function здесь видимо необходимо, да? Чтоб висело постоянно? |
| Автор: Sardar 23.4.2005, 17:02 |
| После разделения темы ответ перекочевал сюда: http://forum.vingrad.ru/index.php?showtopic=49609 |