Программирование > 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

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии