ITPub博客

首页 > 应用开发 > Java > JQuery实现密码有短暂的显示过程和实现 input hint效果

JQuery实现密码有短暂的显示过程和实现 input hint效果

原创 Java 作者:qdjianghao 时间:2015-02-03 10:08:20 0 删除 编辑
一、实现目的

  这几天做项目的时候,客户要求在文本框输入密码的时候,要求密码有短暂的显示过程,如下图:

二、问题思考

   首先解决的是如何在input框里实现类似于android中hint属性,html5中添加placeholder,但是现在不是html5,怎么办?

三、解决办法

1.输入用户名

<li> 
<input name="textfield" type="text" id="usern" value="请输入您的用户名" class="input userName inputholder" /> 
li>

   写一个JS:

	
	
	

点击(此处)折叠或打开

  1. $.fn.inputholder=function(){
  2.     var dval=$(this).val();
  3.     $(this).focus(function(){
  4.         $(this).val('').addClass('focous');
  5.         }).blur(function(){
  6.         if($(this).val()==''){
  7.             $(this).val(dval).removeClass('focous');
  8.             }
  9.         });
  10.     };
  11. var inputholder=$('.inputholder');
  12. if(inputholder.length){
  13.     inputholder.each(function() {
  14.       $(this).inputholder()
  15.    })
  16. };

   当输入框获得焦点的时候,将这个值清空,当丢失焦点的时候,再将之前已经存好的值付给输入框。

2.输入密码短暂显示

  从网上找到了一个Js库: IPass.packed.js

  密码的input如下:

	
	
	

点击(此处)折叠或打开

  1. <li>
  2.      <input name="pwdPrompt" type="text" id="textfield2" value="请输入您的密码" class="input passWord inputholder"/>
  3.      <input name="pwd" type="password" id="password" class="input passWord hide" />
  4. </li>

  由于我们之前为了显示:”请输入您的密码” 将input的type设为text  所以我们又写了一个input,将其type设为password 并且将这个input隐藏。

在浏览器的开发人员工具中我们可以看到:

  会存在一个id为password—0的input,这个就是我们引入的IPass.packed.js自动生成的。

  在我的理解看来,先是写一个type为password的input,导入的js会在这个的基础上自动生成一个新的input,这个input是的type为text,可以显示密码。与我们之前写好的type为password的input将结合,实现密码短暂显示过程。

  然后我们在document.ready里加入:

	
	
	

点击(此处)折叠或打开

  1. $(document).ready(function(){ // to enable iPass plugin $("input[type=password]").iPass();
  2.     $("input[name=pwdPrompt]").focus(function () {
  3.         $("input[name=pwdPrompt]").hide();
  4.         $("input[name=password-0]").show().focus();
  5.     });
  6.     $("input[name=password-0]").blur(function () { if ($(this).val() == "") {
  7.             $("input[name=pwdPrompt]").show();
  8.             $("input[name=password-0]").hide();
  9.         }
  10.     });
  11.     
  12. });

  注意:这个必须写在document.ready 里,而不是写在js里。

  主要还是通过隐藏和显示来控制显示,从而达到密码短暂显示和提示字体隐藏的功能。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30093080/viewspace-1424618/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-01-05

  • 博文量
    16
  • 访问量
    51954