一起看看js获取扫码枪输入数据的方法


本文摘自PHP中文网,作者coldplay.xixi,侵删。

1、扫码枪相当于键盘输入设备,输入一连串数字后加一个enter键。但在实际开发中需要区分是扫描枪输入还是键盘用户输入,区别在于扫码枪输入很快。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

let code = '';

  let lastTime, nextTime;

  let lastCode, nextCode;

  window.document.onkeypress = (e) => {

   if (window.event) { // IE

    nextCode = e.keyCode;

   } else if (e.which) { // Netscape/Firefox/Opera

    nextCode = e.which;

   }

   if (nextCode === 13) {

    if (code.length < 3) return; // 手动输入的时间不会让code的长度大于2,所以这里只会对扫码枪有

 

    console.log(code); // 获取到扫码枪输入的内容,做别的操作

 

    code = '';

    lastCode = '';

    lastTime = '';

    return;

   }

   nextTime = new Date().getTime();

   if (!lastTime && !lastCode) {

    code += e.key;

   }

 

   if (lastCode && lastTime && nextTime - lastTime > 30) { // 当扫码前有keypress事件时,防止首字缺失

    code = e.key;

   } else if (lastCode && lastTime) {

    code += e.key;

   }

   lastCode = nextCode;

   lastTime = nextTime;

  }

PS:下面看下js获取USB扫码枪数据的代码

前言

找了很多相关的教程不太好用,汲取各家之长总结精简了一下

阅读剩余部分

相关阅读 >>

javascript中innerwidth和innerheight属性详解

为什么把javascript文件放在html底部

javascript有哪几种引入方式

h5的视频播放库video.js详解

javascript分不分整数浮点数

javascript如何删除和添加元素

javascript怎么改页面文字

深入了解javascript中的原型和继承

javascript save()方法有什么用

javascript怎么强制转换成整型

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...