源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用jquery实现输入框获取焦点消失文字

  • 时间:2021-12-17 08:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用jquery实现输入框获取焦点消失文字
我们在登录网站的时候,文本框中经常会有提示你输入的信息,当你点击文本框,提示信息自动消失,当文本框什么都没有,而且失去焦点的时候,又有了提示文字。 1.原型开发,先做一个简单的: 我们首先需要一个html文件:
[u]复制代码[/u] 代码如下:
<html> <head> <title>input test</title> <meta name="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> //这里放置css </style> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> //这里放置jquery代码 </script> </head> <body> <form method="POST" id="user" action=""> User Name:<input type="text" name="username" value="Enter your name" /><br/> PassWord:<input type="password" name="password" value="Enter your password" /> <input type="submit" name="sub" value="login" /> </form> </div> </body> </html>
下面加入jquery代码: 我使用了click 和blur内置事件类型处理,而且,只是对username框有效(因为密码框还有别的因素考虑)
[u]复制代码[/u] 代码如下:
<html> <head> <title>input test</title> <meta name="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> </style> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(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"); } }) }); </script> </head> <body> <div id="content"> <form method="POST" id="user" action=""> User Name:<input type="text" id="username" name="username" value="Enter your name" /><br/> PassWord:<input type="password" name="password" value="Enter your password" /> <input type="submit" name="sub" value="login" /> </form> </div> </body> </html>
2.做的更好 这样基本的原型就写成了,但是这个原型有许多的不足: 1.也许可以对密码框也使用这种方式,但是密码框的type类型是password,它不能显示,何来提示文字? 2. if($(this).val()=="")这种写法我可以接受,但是 if($(this).val()=="Enter your name"),你不觉得这很...要是我就想输这个呢... 3.提示文字用别的灰色的粗体表示,这样交互性是不是更强? 4.既然想要用两种字体表示,能不能把他们提取出来?写在.css里?这个是可以重用的啊! [b]解决办法[/b]: 1.密码框先让它的type是text的,等到点击了,我们再设置成password 2.用个变量来表示是否要切换吧。 3.设置不同的css. 4.用attr("class","class1"),attr("class","class2")来切换class,而不是引用id.(也就是说用.不用#) 下面是实现:
[u]复制代码[/u] 代码如下:
<html> <head> <title>input test</title> <style type="text/css"> .default { font-weight:bold; color:#787878; } .puton{ font-weight:normal; color:black; } </style> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(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; } } ) }); </script> </head> <body> <div id="content"> <form method="POST" id="user" action=""> User Name:<input type="text" id="username" class="default" name="username" value="Enter your name" /><br/> PassWord:<input type="text" id="password" class="default" name="password" value="Enter your password" /> <input type="submit" name="sub" value="login" /> </form> </div> </body> </html>
3.更多: 把css写到外部文件. DRY原则!用插件来实现. 我在下一篇博客去实现. author: aiqier
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部