在JavaScript中判断键盘的大写锁定键(Caps Lock)是否打开(附扫描枪相关规则)

1,在按钮中配置onkeypress

<input  name='test'  onkeypress ="testCapsLock(event)"   />

2,在JavaScript中判断

function  testCapsLock(e){  
   var valueCapsLock = e.keyCode ? e.keyCode:e.which; // 按键   
   var valueShift = e.shiftKey ? e.shiftKey:((valueCapsLock == 16 ) ? true : false ); // shift键是否按住  
   if (((valueCapsLock >= 65 && valueCapsLock <= 90 ) && !valueShift) // 输入了大写字母,并且shift键没有按住,说明Caps Lock打开
    || ((valueCapsLock >= 97 && valueCapsLock <= 122 ) && valueShift)){// 输入了小写字母,并且按住 shift键,说明Caps Lock打开
    	return true;
    } else {
    	return false;
    }    
}

也就是说,没按着shift,还输入了大写,或者按着shift还输入了小写,就判断为Caps Lock是打开的。

shift键的keyCode是16,除此之外,其他一些功能键的keyCode如下:

event.keyCode=32        空格  
event.keyCode=13        回车  
event.keyCode=27        Esc  
event.keyCode=16        Shift  
event.keyCode=17        Ctrl  
event.keyCode=18        Alt  


补充扫描枪在文本框的扫描的情况:

1,上面的代码对扫描枪录入依然有效。

2,扫描枪输入不依赖键盘,我把键盘拆下来之后扫描枪可以正常录入。

3,扫描枪扫描的结果会受到键盘的Caps Lock和shift键的影响。

      如果Caps Lock大写锁定打开,扫描枪扫描小写字母生成的条码,会输入大写字母,反之如果扫描大写字母生成的条码,会输入小写字母(输入规则同键盘)

      如果手动按着shift键,扫描枪扫描数字生成的条码,会输入数字键上方的字符(!@#$等,输入规则同键盘)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值