Показать сообщение отдельно
  #1 (permalink)  
Старый 27.04.2010, 22:08
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Повесить обработчик на несколько элементов
Народ, как повесить событие на все строки ввода разом?? Функция "clearDefault(elem)" - функция, стирающая значение строки ввода, если оно равно заданному. Её код:
clearDefault(elem){
 elem.value= elem.value==defaultValue ? "" : elem.value
}


window.onload=function(){
    var elems = document.getElementsByTagName('input');
    for(var i=0; i<elems.length; i++){
        if( (elems[i].type == "text" || elems[i].type=="password") & !elems[i].readOnly){
            if(isMSIE()) {elems[i].attachEvent("onfocus", function(){clearDefault(elems[i])})
            }
            else {elems[i].addEventListener("focus", function(){clearDefault(elems[i])}, false)
            }
        };
    }
}


Что в этой шняге неправильно?

P.S. isMSIE() - функция, определяющая, уж не эксплорер ли это часом: если эксплорер, возвращает true, если нет - соответственно, false.

Последний раз редактировалось trikadin, 27.04.2010 в 22:09. Причина: Дополнил описание функции.
Ответить с цитированием