Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вопрос про оптимизацию (https://javascript.ru/forum/dom-window/15119-vopros-pro-optimizaciyu.html)

lolka84 14.02.2011 10:47

Вопрос про оптимизацию
 
Привет, помогите:
есть около десятка input'ов, в каждом из них по-умолчанию записано value (№ счета, дата, имя и т.п.). При фокусе и потере фокуса сбрасываю значение на "", но т.к. количество инпутов, как уже сказал, около десятка, как то скрипт оптимизировать можно, что б на каждый input не прописывать onfocus и onblur ?

walik 14.02.2011 11:18

Если на jquery то можно так:

$('#id').focus(function() {
//что нужно сделать
});

$('#id').blur(function() {
//что нужно сделать
});

Всем input'ам даешь один и тот же ID.

lolka84 14.02.2011 11:28

Да, забыл добавить: один ID всем объектам раздать не вариант - кроме сабжа будут еще и другие скрипты, которым одинаковый ID ну никак не нужен :)

kadabrik 14.02.2011 11:29

Цитата:

Сообщение от walik (Сообщение 92419)
Всем input'ам даешь один и тот же ID.

Вах, вах никогда так не делай. ID должен быть всегда один. Нужно пользоваться классами.

walik 14.02.2011 11:41

Цитата:

Сообщение от kadabrik (Сообщение 92421)
Вах, вах никогда так не делай. ID должен быть всегда один. Нужно пользоваться классами.

Да, ошибся немножко:) :) Класс один надо давать

Вот как будет выглядеть с классами:

$('.class').focus(function() {
//что нужно сделать
});

$('.class').blur(function() {
//что нужно сделать
});

ksa 14.02.2011 11:45

Цитата:

Сообщение от walik
Всем input'ам даешь один и тот же ID.

Ни че се совет... :D

lolka84 14.02.2011 11:48

Классы вариант, спасибо)

Иваннн 14.02.2011 12:14

Я не знаю JQuery, но раз это javascript не обойдется без назначений данных обработчиков, может лучше поставить обработчики на form и ловить поднимающиеся пузырики(или захватывать идущее к цели событие), определяя элемент srcElement(target) и делать необходимое изменение value?

dmitriymar 14.02.2011 19:00

http://javascript.ru/tutorial/events...nye-s-sobytiem


Часовой пояс GMT +3, время: 12:52.