javascript - JavaScript : 短时间显示密码
问题描述
我想在 javascript 中切换密码可见性。但我希望它以这样一种方式出现,即当用户仅单击一次眼睛图标时,密码可见性会像闪光一样出现并恢复为不可见(即以点表示法)。尝试在 Windows 10 中查看 wi-fi 密码时实现了此机制。我想对 javascript 使用相同的技术,但我已经被这个问题困扰了一段时间。免责声明:我现在正在学习 javascript 中的事件类型,请提供初学者友好的解决方案。 提前致谢。
HTML 代码
<input type="password">
<i class="far fa-eye"></i>
JavaScript 代码
let inputObj = document.querySelector("input");
let iObj = document.querySelector("i");
iObj.addEventListener("click",function(){
inputObj.type = (inputObj.type==="password") ? "text" : "password";
iObj.classList.toggle("fa-eye-slash");
})
解决方案
您可以尝试使用setTimeout()
功能。以下是你如何使用它:
setTimeout(callback, timeout-in-ms)
这是它的样子:
iObj.addEventListener("click",function(){
inputObj.type = "text";
iObj.classList.toggle("fa-eye-slash");
setTimeout(() =>
inputObj.type = "password";
iObj.classList.toggle("fa-eye-slash");
// Let's say timeout for 2 seconds
}, 2000)
})
推荐阅读
- cassandra - Cassandra 数据中非常短的 TTL 会导致性能问题吗?
- android - Android Studio 更新 (3.1.2) - 整个项目搞砸了
- database - Laravel 从带有哈希的表单更新用户密码
- javascript - styled-components 基于 props 来回动画
- c# - “this”这个词是什么意思,“static”是什么意思?
- php - 允许上传原始文件名
- c# - 在 int List 中插入值然后对列表进行排序的最快方法
- python-3.x - Watson-NLU 在循环中给出下游问题(500),但不是单独在句子上
- javascript - 检测可编辑 div 中动态创建的跨度上的退格键
- android - 如何更改后台运行的应用程序图标?