javascript - 如何检测密码字段中的 CAPS LOCK 状态

标签 javascript

<分区>

Possible Duplicate:
How do you tell if caps lock is on using JavaScript?

在 Web 表单中,有什么方法可以判断大写锁定是否打开?

我想我可以检查 onChange 以查看是否所有字符都是大写。但是有没有更直接的方法来做到这一点?

具体来说,我希望在他们输入密码字段时实现“您的大写锁定已开启”消息,类似于 Windows 登录屏幕的方式。

最佳答案

你可以在这里找到一个很好的例子来说明如何做到这一点:http://www.codeproject.com/KB/scripting/Detect_Caps_Lock.aspx

您可以采用该代码并将其包装到不同类型的事件中,即 onfocus 或文档加载。

您可以在谷歌上搜索关键代码的索引(我会发布一个链接,但我没有足够高的业力来发布多个链接,抱歉)。

为简单起见,您要查找的代码是 20(大写锁定)。


从网站复制的说明(许可证:CPOL)

构建脚本

<script language="Javascript">
function capLock(e){
 kc = e.keyCode?e.keyCode:e.which;
 sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false);
 if(((kc >= 65 && kc <= 90) && !sk)||((kc >= 97 && kc <= 122) && sk))
  document.getElementById('divMayus').style.visibility = 'visible';
 else
  document.getElementById('divMayus').style.visibility = 'hidden';
}
</script>

现在我们的脚本已经准备就绪。我们现在需要将此脚本与我们的表单相关联。

使用脚本

让我们添加两个项目:一个文本框和一个 DIV。现在我们只需要调用 onKeyPress 事件。

<input type="password" name="txtPassword" onkeypress="capLock(event)" />
<div id="divMayus" style="visibility:hidden">Caps Lock is on.</div> 

关于javascript - 如何检测密码字段中的 CAPS LOCK 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810454/

相关文章:

javascript - 如何将插件添加到 Bootstrap

javascript - 如何在我的网站中找到 JavaScript 重定向

javascript - npm jshint 安装以及 Grunt 和 Nodejs 的工作

javascript - 瓦坎达-基本了解

javascript - 默认查询参数未在 axios 请求中传递

javascript - 创建 JSON 时如何使用变量

map 中的 JavaScript map 等待响应

javascript - 将 javascript var 传递给 ajax 加载

javascript - 当我使用 ngstyle 时为 "Cannot find a differ supporting object"

javascript - Jquery 自动完成渲染未定义项目