本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

话说,在网页上面输入密码的时候,如果大小写转换打开的话,很有可能会导致登陆失败。但是用户确一脸茫然,“明明密码是对的啊”。这个是个非常经典的用户使用场景。那么,对于exe来说,检测大小写是否打开,可能是个比较容易的事情。那么对于网页来说,是不是也是可行的呢?答案是肯定的。我们可以通过对键盘的按键的ascii码进行检测,来判断是否打开了capslock

苏南大叔:js如何检测输入大小写capslock事件? - capslock-js
js如何检测输入大小写capslock事件?(图3-1)

上一篇文章已经给出检测ascii值的办法,见这里:https://newsn.net/say/js-detect-ascii.html 。基于上述原理,我们来进行进阶学习。

方案一

代码见这里:http://code.stephenmorley.org/javascript/detecting-the-caps-lock-key/
这里是个镜像文件: http://dl.newsn.net/js/jq/capslock.zip
里面的CapsLock.js是通用的,CapsLock.src.js的话,里面使用了es6的语法,所以,理论上来说,是需要编译转化过才能用。

苏南大叔:js如何检测输入大小写capslock事件? - capslock
js如何检测输入大小写capslock事件?(图3-2)

方案二

下面的这个是个基于jqcapslock检测,原理上是差不多的。不过效果上感觉不错。效果图如下:

苏南大叔:js如何检测输入大小写capslock事件? - capslock_2
js如何检测输入大小写capslock事件?(图3-3)

代码见这里:http://dl.newsn.net/js/jq/capslock_jq.zip

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。