• 当前标签:扫码枪

程序开发 js获取USB扫码枪数据

前言 找了很多相关的教程不太好用,汲取各家之长总结精简了一下 原理 扫码枪扫描到的条形码每一位会触发一次onkeydown事件 比如扫描条码位‘1234567890’的条形码,会连续执行10次onkeydown事件 条码扫描到最后一位,会直接触发Enter 代码 支持vue data() { return { nextCode: '', lastTime: '', code: '' } }, created() { // 添加键盘监听事件 document.addEventListener('keydown', this.getBarCode) }, // 销毁页面时销毁监听 destroyed() { document.removeEventListener('keydown', this.getBarCode) }, methods: { // 通过扫码枪获取条形码 getBarCode(e) { let nextCode let nextTime = '' const lastTime = this.lastTime let code = this.code if (window.event) { // IE nextCode = e.keyCode } else if (e.which) { // Netscape/Firefox/Opera nextCode = e.which } nextTime = new Date().getTime() // 字母上方 数字键0-9 对应键码值 48-57; 数字键盘 数字键0-9 对应键码值 96-105 if ( (nextCode >= 48 && nextCode <= 57) || (nextCode >= 96 && nextCode <= 105) ) { const codes = { '48': 48, '49': 49, '50': 50, '51': 51, '52': 52, '53': 53, '54': 54, '55': 55, '56': 56, '57': 57, '96': 48, '97': 49, '98': 50, '99': 51, '100': 52, '101': 53, '102': 54, '103': 55, '104': 56, '105': 57 } nextCode = codes[nextCode] nextTime = new Date().getTime() } // 第二次输入延迟两秒,删除之前的数据重新计算

2019-05-23 17:32:21 78 0 0
阅读详情
  • 1
前往