如何第一次清除焦点上的输入
How to clear an input on focus the first time?
我有两个输入:
<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=''; }"
只需检查一下你的对焦功能
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='';}">
JSFIDDLE示例
如果您使用的是jQuery,您可以使用这个:
<input type="text" name="username" value="username" />
Javascript:
$('input[name=username]').one('focus', function() {
$(this).val('');
});
.one()
只触发绑定事件一次
这样尝试:-
$('.text').focus(function() {
if (this.value == this.value) {
$(this).val("");
}
}).blur(function() {
if (this.value == "") {
$(this).val(this.value);
}
});
http://jsfiddle.net/32Tns/296/
<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 );
}
})
相关文章:
- 在IE9中的输入字段中输入焦点最近按钮
- 那里的维基媒体代码是如何输入焦点的
- 无法通过 JavaScript 在输入焦点上触发键盘
- 输入焦点关闭键盘,需要长时间触摸
- jQuery-滚动到某个元素时自动输入焦点
- 输入:焦点只工作一次
- 输入焦点取决于更大的父元素与 jQuery
- 如何定位单个输入焦点
- 关闭输入焦点上的滑动菜单
- 输入焦点字段,然后在页面加载时添加类
- 无法使用 keyUp 更改表内的输入焦点
- 如何在设备定向时丢失输入焦点
- Phonegap Android 在输入焦点 Javascript 上显示键盘
- 在 CkEditor 中输入焦点
- 如何使用js更改平板电脑上的输入焦点
- 在输入焦点时隐藏ios设备上的键盘
- 当鼠标悬停在其他元素上时,如何删除和重新设置输入焦点
- onmousedown事件停止输入焦点
- ngTags输入焦点自动完成
- 使用jQuery验证器禁用自动输入焦点