JavaScript 实现密码可见性切换(显示和隐藏) 您所在的位置:网站首页 显示网页密码怎么设置出来 JavaScript 实现密码可见性切换(显示和隐藏)

JavaScript 实现密码可见性切换(显示和隐藏)

2024-02-25 08:10| 来源: 网络整理| 查看: 265

默认情况下,输入的密码的 input 标签 type="password",默认密码用小点或星号表示。要密码可见所以我们需要将type修改为"text"。在 Chrome、FireFox 等浏览器中通过修改 input 标签的 type 属性轻松实现该效果,但是 IE 下就会报错。如果你需要兼容IE,就必须考虑其他方案。

这里有几点需要说明的是:

示例使用了替换整个 input 标签方案,所以可以兼容IE眼睛的图表使用了 iconfont ,这样使用CSS切换比较简单。在 IE10 +浏览器中,遇到密码输入框的时候,框内会自行显示一个小眼睛的图标,点击后也能显示密码,如果是普通文本输入框,则IE10会自动显示一个小叉,点击后可以清空文本框已输入的内容,如果不想要IE10自带的这两个功能生效,可以在CSS里加入:

       css代码:

input::-ms-clear {display:none;} input::-ms-reveal {display:none;}

下面一个兼容IE的例子

css部分:

@font-face { font-family: 'iconfont'; /* project id 674189 */ src: url('//at.alicdn.com/t/font_674189_dvawifegwrj.eot'); src: url('//at.alicdn.com/t/font_674189_dvawifegwrj.eot?#iefix') format('embedded-opentype'), url('//at.alicdn.com/t/font_674189_dvawifegwrj.woff') format('woff'), url('//at.alicdn.com/t/font_674189_dvawifegwrj.ttf') format('truetype'), url('//at.alicdn.com/t/font_674189_dvawifegwrj.svg#iconfont') format('svg'); } .iconfont { display: inline-block; font-family: 'iconfont'; font-style: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); -webkit-text-stroke-width: 0.2px; } .bui-input { box-sizing: border-box; height: 40px; padding: 8px 10px; line-height: 24px; border: 1px solid #DDDDDD; color: #5F5F5F; font-size: 14px; vertical-align: middle; border-radius: 4px; width: 330px; } .bui-input:hover{ border: 1px #659aea solid; } .bui-input:focus { outline: none; border: 1px solid #4F9FE9; box-shadow: 0 0 3px 0 #2171BB; color: #595959; } .password-wrap { position: relative; width: 330px; } .password-wrap .bt-showpwd { color: #999999; position: absolute; top: 8px; right: 10px; line-height: 24px; width: 24px; height: 24px; text-align: center; cursor: pointer; } .password-wrap .bt-showpwd.off::before { content: "\e60a"; font-family: "iconfont"; font-size: 18px; } .password-wrap .bt-showpwd.on::before { content: "\e60b"; font-family: "iconfont"; font-size: 18px; }

html部分:

javascript部分:

$(".bt-showpwd").on("click", function (e) { e.preventDefault(); var $this = $(this); var $password = $this.closest(".password-wrap"); var $input = $password.find('input'); var $inputWrap = $password.find('.password-input'); var newinput = '', inputHTML = $inputWrap.html(), inputValue = $input.val(); if ($input.attr('type') === 'password') { newinput = inputHTML.replace(/type\s*=\s*('|")?password('|")?/ig, 'type="text"'); $inputWrap.html(newinput).find('input')[0].value = inputValue; $this.removeClass("off").addClass("on"); } else { newinput = inputHTML.replace(/type\s*=\s*('|")?text('|")?/ig, 'type="password"'); $inputWrap.html(newinput).find('input')[0].value = inputValue; $this.removeClass("on").addClass("off"); } });

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有