首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示密码图标

问显示密码图标
EN

Stack Overflow用户
提问于 2019-11-26 19:43:38
回答 2查看 1K关注 0票数 2

我有这个HTML..。

代码语言:javascript
复制
<div class="signin-form-label-group">
        <input type="password" id="password" name="password" class="form-control"
               placeholder="Password"
               required>
        <label for="password">Password</label>
        <span toggle="#password" class="mdi mdi-eye-off toggle-password"></span>
      </div>

和这个jQuery:

代码语言:javascript
复制
$(".toggle-password").click(function() {
      $(this).toggleClass("mdi mdi-eye");
      var input = $($(this).attr("toggle"));
      input.type === "password" ? input.type = "text" : input.type = "password";
    });

我使用的是材料设计图标。问题是,当单击eye off图标时,会显示文本,但图标不会更改为eye。有没有办法解决这个问题?

编辑:我发现问题实际上是...默认情况下,该类具有class="mdi-eye-off toggle-password mdi"。当单击关闭视线时,就会发生这种情况...class="mdi-eye-off toggle-password mdi-eye"当然,由于切换类,mdi-eye off应该已经被删除了。但它还没有。为什么?如何解决?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-26 20:01:12

像这样使用以显示密码HTML

代码语言:javascript
复制
<div class="signin-form-label-group">
    <input type="password" id="password" name="password" class="form-control"
           placeholder="Password"
           required>
    <label for="password">Password</label>
    <span toggle="#password" class="mdi mdi-eye-off toggle-password" onclick="myFunction(this)">Eye</span>
</div>

<script>
    function myFunction(e) {

      var x = document.getElementById("password");
      if (x.type === "password") {
          e.classList.add('mdi-eye')
        e.classList.remove('mdi-eye-off')
        x.type = "text";
      } else {
          e.classList.add('mdi-eye-off')
        e.classList.remove('mdi-eye')
        x.type = "password";
      }
    }
</script>
票数 1
EN

Stack Overflow用户

发布于 2019-11-26 20:22:17

试试这个jQuery。

代码语言:javascript
复制
$(".toggle-password").on('click', function() {
    $(this).toggleClass("your-toggle-class");
    var input = $("#password");
    if (input.attr("type") === "password") {
        input.attr("type", "text");
    } else {
        input.attr("type", "password");
    }

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59050213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档