Программирование > JavaScript & JScript
обработчик событий для всех объектов input type=text
(1/1)
Forza:
Всем привет!
Ранее я умел вызывать обработчики событий прямо из тэга, а сейчас понадобилось вызывать одинаковые обработчики onfocus и onblur для всех элементов input type=text текущего документа. Каждому в тэг пихать названия функций не хочется, пытаюсь "зарегистрировать" обработчики для этих событий как-то по-хитрому. Пока не получается.
Рассмотрим упрощённый вариант:
--- Код: ---
--- Конец кода ---
Предположим, что по onfocus в текстовое поле должно записываться имя этого текстового поля, а по onblur оно должно стираться (т.е. одинаковы не обработчики разных событий, а обработчики одного события для всех элементов).
virka:
Способов я знаю несколько, все под IE.
Достаточно простой способ есть под IE5+.
Допустим, у Вас в документе такая форма:
35
В ставите указатель, связывающий нужную Вам функцию с событием onbeforeeditfocus в документе. Это событие появляется только в IE5, насколько я знаю. Других событий с фокусом в документе в целом я не знаю.
document.onbeforeeditfocus=textOnOff;
До этого определяете функцию для фокуса
function textOnOff()
{
var srcEl=event.srcElement;
srcEl.value=srcEl.name;
}
Для блюра событий в документе я не знаю, поэтому в той же функции перед рисованием текста очищаем все, что нужно (в форме):
function textOnOff()
{
var srcEl=event.srcElement;
var curForm=srcEl.form;
for(na=0;na
Навигация
Перейти к полной версии