Я получил эту статью для того, чтобы сделать это, но я нашел, что это не работает, поскольку я дал несколько классов в том же текстовом поле. Как преобразовать это для работы с несколькими классами. Я не знаю, как использовать селекторы для работы с.
Я использую его как это
с jQuery как
РЕДАКТИРОВАНИЕ Sys не определено.
.water{font-family: Tahoma, Arial, sans-serif;font-size:75%; color:black;}
Вместо .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();
});
Это приведет к размытию всех элементов, кроме текущего в фокусе. , чтобы не прерывать набор текста пользователем.