账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js如何判断扫码枪的输入?
    25
    0

    扫码枪输入的时间间隔一般在8毫秒,偶尔会有16毫秒,而键盘输入一般都在80毫秒以上,因此我设定当输入间隔小于等于30毫秒时,判断为扫码枪输入,但是这段代码会丢失扫码枪扫描的第一个字符,如何判断第一个字符是扫码枪输入还是手动输入的?

    window.onload = function(e){
                var code = "";
                var lastTime,nextTime;
                var lastCode,nextCode;
    
                document.onkeypress = function(e) {
                    nextCode = e.which;
                    nextTime = new Date().getTime();
    
                    if(lastCode == null && lastTime == null) {
                        // 此处应该怎么判断
                    } 
                    if(lastCode != null && lastTime != null && nextTime - lastTime <= 30) {
                        code += String.fromCharCode(nextCode); 
                    } else if(lastCode != null && lastTime != null && nextTime - lastTime > 100){
                        code = "";
                    }
    
                    lastCode = nextCode;
                    lastTime = nextTime;
                }
    
                this.onkeypress = function(e){
                    if(e.which == 13){
                        console.log(code);
                        code = "";
                    }
                } 
            }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部