Оптимально ли так присваивать событие?
[HTML]var inp=document.getElementsByTagName('input')
for(c=0;c<inp.length;c++){
if(inp[c].type=='text'){inp[c].onfocus=op}}[/HTML]
Правильно ли это? Или можно тип элемента указать в этой строчке:
[HTML]var inp=document.getElementsByTagName('input')[/HTML]
Если можно, то как?
И ещё, если элементы, которым нужно присоединить событие, обладают какими то стилями, то тоже, есть ли специальные приемы указать это?
Цитата:
есть ли специальные приемы указать это?
Тот же самый прием - проверить наличие.
Для события onclick и подобных можно так же вешать обработчик на весь документ, а там проверять целевой элемент и если он подпадает под критерии - выполнять обработчик. Но для onfocus скорее всего это не пройдет.
Спасибо, буду использовать.
Цитата: Ghirik
И ещё, если элементы, которым нужно присоединить событие, обладают какими то стилями,
Стилями в смысле CSS? Через DOM можно добраться и прочесть/изменить любой стилевой атрибут элемента.
Цитата:
Стилями в смысле CSS?
Да, читаю...Спасибо.
getElementsByTagName это тоже DOM :) . Я думаю вообще стоит ознакомиться с DOM спецификацией ближе ( http://www.w3.org/DOM/ ). Очень облегчает понимание и работу с моделью страницы через тот же JS,