JS组件系列——显示隐藏密码切换的jQuery插件
2017-10-19 23:46
811 查看
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>可显示隐藏密码切换的jQuery插件</title> <style type="text/css"> *{margin:0;padding:0;} body{font:14px Arial, sans-serif;color:#333;} input{font-family:Arial, sans-serif;} .login{width:270px;margin:40px auto 0 auto;padding:30px 40px;background-color:#f7f7f7;} .login ul{list-style-type:none;} .login li{padding:10px 0;overflow:hidden;} .login .li3, .login .li5{text-align:right;font-size:12px;} .login .li3 input{width:13px;height:13px;margin:0 3px 0 10px;vertical-align:middle;} .login .submit{display:block;width:100%;padding:6px 0;border:0 none;color:#fff;background-color:#4d90fe;cursor:pointer;} #email, #password{width:214px;padding:5px;border:1px solid #ccc;} .forgot{color:#333;} </style> <script type="text/javascript" src="jquery/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="jquery/toggle-password.js"></script> <script type="text/javascript"> $(function(){ $('#password').togglePassword({ el: '#togglePassword' }); }); </script> </head> <body> <div class="login"> <ul> <li><span><label for="email">邮箱:</label></span><input id="email" type="text" placeholder="请输入邮箱地址" /></li> <li><span><label for="password">密码:</label></span><input id="password" type="password"></li> <li class="li3"><input type="checkbox" id="remember"><label for="remember">记住密码</label> <input type="checkbox" id="togglePassword"><label for="togglePassword">显示密码</label></li> <li class="li4"><input class="submit" type="submit" value="登录"></li> <li class="li5"><a class="forgot" href="javascript:">忘记密码?</a></li> </ul> </div> </body> </html>
toggle-password.js:
(function ($) { $.fn.togglePassword = function( options ) { var s = $.extend( $.fn.togglePassword.defaults, options ), input = $( this ); $( s.el ).bind( s.ev, function() { var flag = "password" == $( input ).attr( "type" ) //$(input).removeAttr("type"); //flag ? $( input ).attr( "type", "text" ) : $( input ).attr( "type", "password" ); flag ? $(input)[0].type = "text" : $(input)[0].type = "password"; }); }; $.fn.togglePassword.defaults = { ev: "click" }; }(jQuery));
注意:input的type属性无法修改和移除,要修改其属性,需要这样:$(input)[0].type = "text"
效果图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/01/9e481da0942aba60d4e62184976d70e3.png)
总结:1、修改type值得方式:$("input")[0].type = "text",这样修改才行
2、 组件封装的思想:(1)函数立即执行:(function($){ //do something }(jQuery));(2)声明定义默认的default对象;(3)$.extend(default, options);完成自定义参数和方法的拓展。
相关文章推荐
- jQuery插件:toggleElements.js,隐藏/显示层的折叠效果插件
- JQuery插件开发之如何实时显示被隐藏的输入框密码
- jquery 实现密码框的显示隐藏 js
- jQuery显示隐藏密码插件jquery.toggle-password演示
- 显示隐藏切换同时变化文字jquery与js实现
- 显示/隐藏输入的密码--jquery插件--toggle-password
- jQuery通过改变input的type属性实现密码显示隐藏切换功能
- JS实现登录页密码的显示和隐藏功能
- jQuery之动画效果(动画基础隐藏和显示,上卷下拉效果 ,淡入淡出效果 ,动画切换的比较,自定义动画,jQuery核心)
- nagios系列(五)之nagios图形显示的配置及自定义插件检测密码是否修改详解
- Android文本输入框(EditText)切换密码的显示与隐藏
- 图片切换插件jquery.cycle.js参数详解
- 关于EditText密码框,切换显示或隐藏
- jQuery 效果 - slideToggle() 方法 (在隐藏和显示之间切换)
- vue.js 左侧二级菜单显示隐藏切换 实例
- ****timeago.js插件:jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例
- js动态控制td隐藏显示 jquery 动态控制td被另一个td代替,非常实用
- jquery 切换显示隐藏的状态
- EditText设置密码显示明文及隐藏切换