jquery实现输入框获取焦点后文字消失的代码
本文导语: 1,首先,做一个简单的。 创建一个html文件: 代码示例: input test //css代码部分 //jquery代码部分 User Name: PassWord: 下面加入jquery代码: 用到了click 和blur内置事件类型处理,而且,只是对username框有...
1,首先,做一个简单的。
创建一个html文件:
input test
//css代码部分
//jquery代码部分
User Name:
PassWord:
下面加入jquery代码:
用到了click 和blur内置事件类型处理,而且,只是对username框有效(因为密码框还有别的因素考虑)。
input test_www.
$(document).ready(function(){
$("#username").click(
function(){
if($(this).val()=="Enter your name"){
$(this).val("");
}
})
$("#username").blur(
function(){
if($(this).val()=="")
{
$(this).val("Enter your name");
}
})
});
User Name:
PassWord:
2,功能改进后的代码
以下原型代码的不足:
1,也许可以对密码框也使用这种方式,但是密码框的type类型是password,它不能显示,何来提示文字?
2,if($(this).val()=="")这种写法可以接受,但是 if($(this).val()=="Enter your name"),可能你还想输这个呢...
3,提示文字用别的灰色的粗体表示,这样交互性是不是更强?
4,既然想要用两种字体表示,能不能把他们提取出来?写在.css里?这个是可以重用的啊!
解决办法:
1,密码框先让它的type是text的,等到点击了,我们再设置成password
2,用个变量来表示是否要切换吧。
3,设置不同的css.
4,用attr("class","class1"),attr("class","class2")来切换class,而不是引用id.(也就是说用.不用#)
代码如下:
input test_www.
.default {
font-weight:bold;
color:#787878;
}
.puton{
font-weight:normal;
color:black;
}
$(document).ready(function(){
var b=true;
$("#username").click(
function(){
if(b==true){
$(this).val("");
$(this).attr("class","puton");
b=false;
}
}
)
$("#username").blur(
function(){
if( $(this).val()==""){
$(this).val("Enter your name");
$(this).attr("class","default");
b=true;
}
}
)
});
$(document).ready(function(){
var b=true;
$("#password").click(
function(){
if(b==true){
$(this).val("");
$(this).attr("type","password");
$(this).attr("class","puton");
b=false;
}
})
$("#password").blur(
function(){
if( $(this).val()==""){
$(this).val("Enter your password");
$(this).attr("type","text");
$(this).attr("class","default");
b=true;
}
}
)
});
User Name:
PassWord:
这节就介绍这些了,用jquery实现输入框焦点文字的方法,感觉如何呢?
哪位有更好的办法,欢迎分享一下哦。