jQuery的blur()
函数拒绝工作。虽然保存了输入值,但没有显示。有人能告诉我为什么吗?我也试过on('blur', function(){});
,但没有运气。
$('form').each(function() {
$(this).find(':input')
.not('input[type=submit], input[type=hidden]')
.each(function() {
if (!($.trim($(this).val()))) {
if ($(this).attr('data-placeholder')) {
putPlaceholder(this);
}
}
$(this).blur(function() {
if (!($.trim($(this).val()))) {
putPlaceholder(this);
}
});
});
});
我让它在这里完美地工作:http://jsfiddle.net/mmmshuddup/aswXV/3/
var placeholder = "I'm a placeholder";
function putPlaceholder(el) {
// do something
el.value = placeholder;
$(el).addClass('placeholder');
}
$('form').each(function() {
$(this).find(':input')
.not('input[type=submit], input[type=hidden]')
.each(function() {
if (!$.trim(this.value)) {
if ($(this).attr('data-placeholder')) {
putPlaceholder(this);
}
}
$(this).focus(function() {
if (this.value == placeholder) {
this.value = '';
}
$(this).removeClass('placeholder');
}).blur(function() {
if (!$.trim(this.value)) {
putPlaceholder(this);
}
});
});
});