как создать эффект водяного знака с помощью jQuery в asp.net

Я получил эту статью для того, чтобы сделать это, но я нашел, что это не работает, поскольку я дал несколько классов в том же текстовом поле. Как преобразовать это для работы с несколькими классами. Я не знаю, как использовать селекторы для работы с.

Я использую его как это

с jQuery как


РЕДАКТИРОВАНИЕ Sys не определено.

.water{font-family: Tahoma, Arial, sans-serif;font-size:75%; color:black;}


1
задан Shantanu Gupta 29 July 2010 в 12:49
поделиться

1 ответ

Вместо .each () , как у вас, проще просто запустить обработчик blur , как это (отредактировано для использования .live () , поскольку вы добавляете их в UpdatePanel):

$(function() {
  $(".water").addClass("watermark");
  $(".watermark").live('focus', function() {
    $tb = $(this);
    if ($tb.val() == this.title) {
        $tb.val("");
        $tb.removeClass("water");
    }
  }).live('blur', function() {
    $tb = $(this);
    if ($.trim($tb.val()) == "") {
        $tb.val(this.title);
        $tb.addClass("water");
    }
  }).blur();​
});

Вы можете увидеть, как это работает здесь . Это помещает водяной знак / заголовок, если изначально поле было пустым, что обычно вам и нужно. Также, когда ваша PanelPanel завершит работу, вы захотите снова вызвать .blur () для этих элементов, чтобы применить водяной знак к только что созданным, например:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
  $(".water").not(document.activeElement).blur();
});

Это приведет к размытию всех элементов, кроме текущего в фокусе. , чтобы не прерывать набор текста пользователем.

2
ответ дан 2 September 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: