vue 点击小眼睛密码显示隐藏

本文详细介绍如何在Vue.js中创建一个密码输入框,包括密码显示切换、输入验证及响应式设计。通过使用Vue的数据绑定和事件监听,实现了一个具备显示/隐藏密码功能的输入框组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<li>
    <span class="icon password-icon">新密码:</span>
    <input  :type="pwdType" placeholder="请输入新密码" @on-change="userPassword" maxlength="18" v-model="userPassword" @blur="getUserPassword">
    <img :src="seen?openeye:nopeneye" class="eye" alt="" @click="changeType()">
    <span class="from-box-line"></span>
  </li>

data里面:

seen:'',
pwdType: 'password', // 密码类型
openeye: require('@/assets/eye.png'), //图片地址
nopeneye: require('@/assets/neye.png'), //图片地址
userPassword:'',

methods里面:

      changeType() {
        this.pwdType = this.pwdType === 'password' ? 'text' : 'password';
        this.seen = !this.seen;//小眼睛的变化
      },

 

### 实现密码输入框点击眼睛图标切换显示隐藏密码 为了实现在前端页面中通过点击眼睛图标来切换密码显示隐藏,可以采用多种技术方案。下面提供一种基于HTML、CSS以及JavaScript的方式。 #### HTML结构设置 构建基本的表单元素,其中包含用于输入密码的`<input>`标签和作为触发器的眼睛图标的按钮或图像元素: ```html <form> <div class="password-field"> <input id="pwdInput" type="password" placeholder="Enter your password"/> <button type="button" onclick="togglePasswordVisibility()" class="eye-icon">👁️</button> <!-- 使用实际图片路径替换 👁️ --> </div> </form> ``` #### JavaScript逻辑控制 编写一段简单的脚本来处理当用户点击眼睛图标时发生的事件,改变输入字段的`type`属性值从而达到切换效果[^1]。 ```javascript function togglePasswordVisibility() { const pwdField = document.getElementById('pwdInput'); if (pwdField.type === 'password') { pwdField.type = 'text'; } else { pwdField.type = 'password'; } } ``` 对于更复杂的应用场景或者框架内开发(如Vue.js),可以通过数据绑定的方式来管理这种交互行为[^3]。例如,在Vue组件内部定义一个布尔类型的变量用来跟踪当前的状态,并将其关联到视图上的相应部分。 #### Vue.js中的实现方式 在Vue项目中,可以在模板文件里这样设计: ```vue <div v-bind:class="{ active: isShowingPassword }" @click="isShowingPassword=!isShowingPassword"> <span>{{ isShowingPassword ? 'Hide' : 'Show' }}</span> <i aria-hidden="true"></i><!-- 图标位置 --> </div> <input :type="isShowingPassword?'text':'password'" name="password"> <script> export default { data(){ return{ isShowingPassword:false, }; }, }; </script> ``` 这种方法不仅简化了DOM操作的过程,还使得代码更加清晰易读并易于维护。 #### jQuery实现方法 如果偏好于使用jQuery,则可以在文档就绪之后初始化监听器,以便响应用户的动作[^4]。 ```javascript $(document).ready(function($) { $('.eye-icon').on('click', function(event){ var $target = $(event.target); var targetInput = $('#pwdInput'); if ($target.hasClass('show')) { $target.removeClass('show'); targetInput.attr('type','password'); } else { $target.addClass('show'); targetInput.attr('type','text'); } event.preventDefault(); }); }); ``` 以上就是几种不同的实现思路和技术栈下的具体实践案例,每种都有其适用范围和发展背景,可以根据项目的实际情况和个人喜好做出选择。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值