У меня есть следующий код:
$(".watermark").live('focus', function() {
$tb = $(this);
if ($tb.val() == this.title) {
$tb.val("");
$tb.removeClass("water");
}
}).live('blur', function() {
...
}
}).blur();
Как я могу обновить/переписать этот код, чтобы воспользоваться последними функциями jQuery?
Здесь мой jsfiddle http://jsfiddle.net/6EKVV/
Поскольку .live()
устарел с версии 1.7 и удален в версии 1.9. Вместо этого вы можете использовать .on():
$(".water").addClass('watermark');
$(".watermark").on('focus', function() {
$tb = $(this);
if ($tb.val() == this.title) {
$tb.val("");
$tb.removeClass("water");
}
}).on('blur', function() {
$tb = $(this);
if ($.trim($tb.val()) == "") {
$tb.val(this.title);
$tb.addClass("water");
}
}).blur();
Вы должны делегировать событие на родительский элемент .watermark
.
Подобно:
$(document).on('focus', '.watermark', function() {
//...
});
$(".watermark").live('focus', callback)
равен $(document).on('focus', '.watermark', callback)
.
$(".watermark").on('focus', callback)
просто равен $(".watermark").focus(callback)
, который является не то, что .live
раньше.
placeholder
следующим образом: jsfiddle.net/6EKVV/2