jQuery: изменение цвета входного значения после того, как пользователь начинает печатать - PullRequest
0 голосов
/ 17 июня 2011

У меня есть форма ввода, в которой есть примеры ключевых слов для поиска.

Когда пользователь фокусирует ввод, текст исчезает, если на входе ничего нет, текст появляется снова, когда не сфокусирован.

Это все хорошо и работает хорошо, но я хотел бы, чтобы образец текста был серым, а затем имел обычный сплошной цвет, когда пользователь фактически печатает.

Ниже приведен код, который я сейчас использую. Любая помощь будет отличной!

$(function() {
$('input').each(function() {
    $.data(this, 'default', this.value);
}).focus(function() {
    if (!$.data(this, 'edited')) {
        this.value = "";
    }
}).change(function() {
    $.data(this, 'edited', this.value != "");
}).blur(function() {
    if (!$.data(this, 'edited')) {
        this.value = $.data(this, 'default');
    }
});
});

Ответы [ 4 ]

5 голосов
/ 17 июня 2011

Как это?

$(function() {
    $('input').each(function() {
        $.data(this, 'default', this.value);
    }).css("color","gray")
    .focus(function() {
        if (!$.data(this, 'edited')) {
            this.value = "";
            $(this).css("color","black");
        }
    }).change(function() {
        $.data(this, 'edited', this.value != "");
    }).blur(function() {
        if (!$.data(this, 'edited')) {
            this.value = $.data(this, 'default');
            $(this).css("color","gray");
        }
    });
});

http://jsfiddle.net/afcpb/

Сначала просто установите его на серый, затем черный, когда фокусируется, и обратно на серый, если текст по умолчанию установлен снова.

1 голос
/ 17 декабря 2013

В HTML5 есть атрибут placeholder = "thing ".Так ты бы сказал,Я думаю, что это лучший ответ, поскольку Jquery не нужен для этого.

0 голосов
/ 17 июня 2011

Я бы предложил использовать плагин вроде labelOver вместо того, чтобы возиться с текстом и стилем ввода!

http://remysharp.com/2007/03/19/a-few-more-jquery-plugins-crop-labelover-and-pluck/#labelOver

0 голосов
/ 17 июня 2011

http://api.jquery.com/css

Используйте .css(), чтобы добавить стиль color к вашему input

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...