前言

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

原理

  1. 扫码枪扫描到的条形码每一位会触发一次onkeydown事件
    比如扫描条码位‘1234567890’的条形码,会连续执行10次onkeydown事件
  2. 条码扫描到最后一位,会直接触发Enter

代码

需要引入jQuery,我这里用的是vue

window.onload = (e)=> {document.onkeydown = (e)=> {let nextCode,nextTime = '';let lastTime = this.lastTime;let code = this.code;if (window.event) {// IEnextCode = e.keyCode} else if (e.which) {// Netscape/Firefox/OperanextCode = e.which}nextTime = new Date().getTime();//字母上方 数字键0-9 对应键码值 48-57; 数字键盘 数字键0-9 对应键码值 96-105if((nextCode>=48&&nextCode<=57)  || (nextCode>=96&&nextCode<=105)){let 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();}// 第二次输入延迟两秒,删除之前的数据重新计算if(nextTime && lastTime && nextTime-lastTime>2000){code = String.fromCharCode(nextCode);}else{code += String.fromCharCode(nextCode)}// 保存数据this.nextCode = nextCode;this.lastTime = nextTime;this.code = code;// 键入Enterif(e.which == 13) {// 判断 code 长度(这里就获取到条码值了,以下业务自由发挥)code = $.trim(code)if (code.length == 13) {this.$message('A类条码:' + code);} else if (code.length == 23) {this.$message('B类条码:' + code);} else if (code.length == 0) {this.$message('请输入条码');} else{this.$message('条码不合法:' + code);}//键入回车务必清空code值this.code = ''return false;}}
}

js获取USB扫码枪数据相关推荐

  1. js 条码枪扫描_js获取USB扫码枪数据

    前言 找了很多相关的教程不太好用,汲取各家之长总结精简了一下 原理 扫码枪扫描到的条形码每一位会触发一次onkeydown事件 比如扫描条码位'1234567890'的条形码,会连续执行10次onke ...

  2. python读取usb扫码枪数据_USB

    Android使用AccessibilityService实现USB扫码枪数据抓取 android单屏机,通过扫码枪扫描二维码的场景非常多,扫码枪的种类也有蓝牙.USB.串口等等 目前USB的扫码枪主 ...

  3. js获取树形JSON数据根节点到任一子节点路径

    js获取树形JSON数据根节点到任一子节点路径 数据结构,deep表示节点深度 现在定义一个方法传入一个子节点对象,返回其对应路径. 首先遍历数据将遍历顺序放在一个数组中![首先递归遍历数据将遍历顺序 ...

  4. js获取对象里数据条数

    js获取对象里数据条数 对象无法使用length获取长度,需要使用js原生方法里的Object.keys方法进行获取,具体用法如下: let obj = {'a1': {'name': '张三''}, ...

  5. 通过js获取Model中数据

    通过js获取Model中数据 前端js获取model 1.获取model的js代码必须写在html中 2.script中添加 th:inline="javascript" < ...

  6. 【股票】java+js获取股票实时数据

    [历史数据] 方法1:首先感谢网易财经提供数据下载平台,访问网易财经首页 money.163.com,点击股票,进入到股票页面,然后随便点开网页中的某支股票,比如说万科A, 你就看到了万科A股票的相关 ...

  7. 原生JS 获取自定义data-xxx 数据

    最近在写js的时候遇到原生用js 获取 自定义data 获取从数据库读取的数据 调用其他js 渲染模型 需要 在循环的div 中 自定义 data-image (可以自定义) <!-- 模型文件 ...

  8. node.js 获取异步方法里面数据 的方式

    第一种 使用回调函数: function getData(callback){setTimeout(function(){var name = 'xxxx';callback(name);}, 100 ...

  9. python读取usb扫码枪数据_vue扫码枪input接收数据

    1.使用场景 vue 项目, 需要用扫码枪完成获取二维码中内容并进行处理的功能, 扫码枪就是普通那种,先找到一个有焦点的input,然后扫码枪工作,将扫描到的信息录入到input中,必须要有焦点. 打 ...

  10. python读取usb扫码枪数据_PyUsb USB条码扫描

    我在用Ubuntu的霍尼韦尔USB 3310g扫描仪从条形码或qrcode输出一个字符串.我有libusb和一个名为metro-usb(http://gitorious.org/other/metro ...

最新文章

  1. python打包exe之打包深度学习模型踩坑记录及其解决办法。
  2. 11月8日PHP练习《留言板》
  3. 1636: Pascal山脉
  4. 6张图为你分析Kafka Producer 消息缓存模型
  5. 波利亚名著《怎样解题》笔记:四步解题法
  6. python 计算时间_python的时间使用和时间计算
  7. sql server分布式_如何安装,配置和使用SQL Server分布式重播
  8. 雷达信号处理基础 ch1 note1
  9. 线性混合模型及R实现
  10. 微秒, 纳秒,毫秒, 时间单位换算[转]
  11. 计算机对化工的影响PPT,化工计算机应用ppt课件.ppt
  12. Linux--进程与任务管理(查看和控制进程及计划任务管理)
  13. 手动修改Spyder的背景颜色(手动配色)
  14. 国际上进行盲源分离研究的主要学者及其研究方向
  15. 四步搞定小菊花 Loading 动画
  16. 基础教育弊端日益显现 中国课程改革势在必行
  17. 知名互联网大厂——推荐算法工程师、专家、leader
  18. TABLE functions
  19. 1.47 财务测量指标——效益成本比率
  20. 【程序员必修数学课】->基础思想篇->递归(下)->分而治之从归并排序到MapReduce

热门文章

  1. MATLAB函数或变量无法识别
  2. 基于ssm进销存流程管理系统
  3. 面试中可以问面试官的问题
  4. 微信公众号图片上传和预览功能前端实现
  5. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(二)——自动控制原理
  6. linux清除网络记录,Linux清除用户登录记录和命令历史方法
  7. QQ浏览器的历史记录在那 QQ浏览器查看浏览历史的方法
  8. 天翼网关刷linux,天翼网关3.0-中兴F650光猫最新固件 开Telnet教程
  9. NCBI Genbank核苷酸序列数据库检索基因序列解读
  10. 计算机在档案管理中的作用,计算机在档案管理中的运用