Я не совсем уверен, возможно ли это или нет, я достаточно хорошо осведомлен, когда дело доходит до jQuery и JavaScript в целом, но это меня озадачило.Я создал простой плагин, который очищает текстовый ввод в фокусе, а затем отображает значение по умолчанию, если ничего не было введено.
Возможно ли затемнение только самого текста внутри текстового ввода, а несамо поле?Кажется, что все попытки приводят к тому, что само текстовое поле исчезает и, в конечном итоге, скрывает элемент из поля зрения.
Я нашел решение использовать интервалы, содержащие значение по умолчанию, и расположить их абсолютно над текстовым вводом, скрываяи показывать их в зависимости от того, введен ли пользователем какой-либо текст или нет.Я бы предпочел очень простой подход, если таковой существует.
Редактировать
Используя функцию анимации jQuery, которая находится в пользовательском интерфейсе jQuery или доступна как плагин для jQuery,может анимировать цвет текста, чтобы он был цветом ввода при фокусировке и размытии поля (как указано ниже).Вот код, который я использую в случае, если вы хотите знать, как.
obj.bind("focus", function() {
if ($(this).val() == oldValue) {
$(this).animate({ color: '#E8DFCC' }, 1000).val('');
}
});
obj.bind("blur", function() {
if ($(this).val().length <= 3) {
$(this).animate({ color: '#56361E' }, 600).val(oldValue);
}
});