Объяснение того, почему ваш код работает так, как оно работает, довольно сложно.Для каждого поля ввода вы устанавливаете (и переустанавливаете на каждом событии "focus"!) Обработчики событий "blur" на всех входах.Это сбивает с толку и трудно думать, поэтому я просто подытожу это и скажу «не делай так».
adaugaInput.focus(function() {
var input = $(this);
if (!input.data('default')) input.data('default', input.val());
if (input.val() === input.data('default'))
input.val('');
});
adaugaInput.blur(function() {
var input = $(this);
if (input.val() === '') input.val(input.data('default'));
});
Обратите внимание, что я использую «.val ()», чтобы получить /установить атрибут «значение» для полей ввода.Кроме того, обработчик «размытия» настроен вне обработчика «фокуса».Этот код использует механизм jQuery ".data ()" для сохранения значения по умолчанию для каждого элемента.Не проверено, но, вероятно, довольно близко.
При таком механизме иногда удобно изменить стиль ввода, чтобы (например) значение по умолчанию отображалось более светлым шрифтом.Чтобы сделать это, вы должны удалить и добавить класс в поле ввода и повлиять на стиль с помощью CSS.(Входные данные должны начинаться с класса; или я полагаю, вы могли бы применить класс в фокусе.)