在js中判断是扫码枪还是手动输入

本文介绍了一种通过比较按键时间来区分键盘输入与扫码枪输入的方法。利用第一次按键时间和回车键时间的间隔,若间隔小于30毫秒则认为是扫码枪输入,否则为手动键盘输入,并给出了具体的JavaScript实现代码。

通过判断第一次按键的时间与按回车之后的时间进行比较 

如果相隔大于30,说明是手动输入的(扫码枪的扫码时间一般不会大于30)

 //输入框内键盘第一次按下的时候开始记录时间  keydown-->按下的过程
    $("#输入框id").keydown(function(event){
       
        var twoTime, oneTime;
        

        //keypree 键盘每按下一次进入一次 
        $(this).keypress (function (event) {
            debugger
            // 判断是否是第一次键盘按下的时间
            if(oneTime!=null){
                if(event.keyCode==13){
                    twoTime=new Date().getTime();
                    if(twoTime-oneTime<30){
                        debugger
                       //如果是键盘输入的话要走的逻辑

                    }else{
                        console.log("11111")
                        layer.msg('禁止手动输入');
                        setTimeout('window.location.reload()',1000)

                    }
                }

            }else {
                //记录第一次键盘按下的时间
                oneTime=new Date().getTime();
            }
            
        })
        
	 });

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值