我有 2 个输入:
<input type="text" value="username">
<input type="password" value="password">
如果我在特定输入中,我想删除默认值(只是第一次)。我使用 JavaScript 添加属性,如下所示:
onfocus="this.value='';"
但这每次都会清除输入。第一次关注时如何清除输入呢?
我有 2 个输入:
<input type="text" value="username">
<input type="password" value="password">
如果我在特定输入中,我想删除默认值(只是第一次)。我使用 JavaScript 添加属性,如下所示:
onfocus="this.value='';"
但这每次都会清除输入。第一次关注时如何清除输入呢?
您想要的称为占位符:自动删除的默认值。
如果您可以接受您的占位符对 IE9 用户不可见,请执行以下操作:
<input type="text" placeholder="username">
如果您需要与 IE9 兼容,请使用众多 polyfill 中的一种,人们已经为您处理了实现细节。
只需在输入中使用占位符,例如
<input type="text" placeholder="username">
最好为每个输入命名,所以:
<input type="text" name="username" placeholder="username">
尝试
onfocus="if(this.flag == undefined){ this.flag = true; this.value=''; }"
如果你使用 jQuery,你可以使用这个:
<input type="text" name="username" value="username" />
Javascript:
$('input[name=username]').one('focus', function() {
$(this).val('');
});
.one()
只会触发一次绑定事件
<input type="text" value="username" id="username" title="username" />
$( '#username' ).bind({
'focus': function( event ) {
$( this ).val( '' );
},
'blur': function( event ) {
var obj = $( this ),
title = obj.attr( 'title' );
obj.val( title );
}
})
试试这样: -
$('.text').focus(function() {
if (this.value == this.value) {
$(this).val("");
}
}).blur(function() {
if (this.value == "") {
$(this).val(this.value);
}
});
只需检查您的 onfocus 功能
onfocus="if(this.value == 'username'){this.value='';}"
<input type="text" value="username" onfocus="if(this.value == 'username'){this.value='';}">
<input type="password" value="password" onfocus="if(this.value == 'password'){this.value='';}">