js获取USB扫码枪数据
前言
- 找了很多相关的教程不太好用,汲取各家之长总结精简了一下
原理
- 扫码枪扫描到的条形码每一位会触发一次onkeydown事件
比如扫描条码位‘1234567890’的条形码,会连续执行10次onkeydown事件 - 条码扫描到最后一位,会直接触发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扫码枪数据相关推荐
- js 条码枪扫描_js获取USB扫码枪数据
前言 找了很多相关的教程不太好用,汲取各家之长总结精简了一下 原理 扫码枪扫描到的条形码每一位会触发一次onkeydown事件 比如扫描条码位'1234567890'的条形码,会连续执行10次onke ...
- python读取usb扫码枪数据_USB
Android使用AccessibilityService实现USB扫码枪数据抓取 android单屏机,通过扫码枪扫描二维码的场景非常多,扫码枪的种类也有蓝牙.USB.串口等等 目前USB的扫码枪主 ...
- js获取树形JSON数据根节点到任一子节点路径
js获取树形JSON数据根节点到任一子节点路径 数据结构,deep表示节点深度 现在定义一个方法传入一个子节点对象,返回其对应路径. 首先遍历数据将遍历顺序放在一个数组中![首先递归遍历数据将遍历顺序 ...
- js获取对象里数据条数
js获取对象里数据条数 对象无法使用length获取长度,需要使用js原生方法里的Object.keys方法进行获取,具体用法如下: let obj = {'a1': {'name': '张三''}, ...
- 通过js获取Model中数据
通过js获取Model中数据 前端js获取model 1.获取model的js代码必须写在html中 2.script中添加 th:inline="javascript" < ...
- 【股票】java+js获取股票实时数据
[历史数据] 方法1:首先感谢网易财经提供数据下载平台,访问网易财经首页 money.163.com,点击股票,进入到股票页面,然后随便点开网页中的某支股票,比如说万科A, 你就看到了万科A股票的相关 ...
- 原生JS 获取自定义data-xxx 数据
最近在写js的时候遇到原生用js 获取 自定义data 获取从数据库读取的数据 调用其他js 渲染模型 需要 在循环的div 中 自定义 data-image (可以自定义) <!-- 模型文件 ...
- node.js 获取异步方法里面数据 的方式
第一种 使用回调函数: function getData(callback){setTimeout(function(){var name = 'xxxx';callback(name);}, 100 ...
- python读取usb扫码枪数据_vue扫码枪input接收数据
1.使用场景 vue 项目, 需要用扫码枪完成获取二维码中内容并进行处理的功能, 扫码枪就是普通那种,先找到一个有焦点的input,然后扫码枪工作,将扫描到的信息录入到input中,必须要有焦点. 打 ...
- python读取usb扫码枪数据_PyUsb USB条码扫描
我在用Ubuntu的霍尼韦尔USB 3310g扫描仪从条形码或qrcode输出一个字符串.我有libusb和一个名为metro-usb(http://gitorious.org/other/metro ...
最新文章
- python打包exe之打包深度学习模型踩坑记录及其解决办法。
- 11月8日PHP练习《留言板》
- 1636: Pascal山脉
- 6张图为你分析Kafka Producer 消息缓存模型
- 波利亚名著《怎样解题》笔记:四步解题法
- python 计算时间_python的时间使用和时间计算
- sql server分布式_如何安装,配置和使用SQL Server分布式重播
- 雷达信号处理基础 ch1 note1
- 线性混合模型及R实现
- 微秒, 纳秒,毫秒, 时间单位换算[转]
- 计算机对化工的影响PPT,化工计算机应用ppt课件.ppt
- Linux--进程与任务管理(查看和控制进程及计划任务管理)
- 手动修改Spyder的背景颜色(手动配色)
- 国际上进行盲源分离研究的主要学者及其研究方向
- 四步搞定小菊花 Loading 动画
- 基础教育弊端日益显现 中国课程改革势在必行
- 知名互联网大厂——推荐算法工程师、专家、leader
- TABLE functions
- 1.47 财务测量指标——效益成本比率
- 【程序员必修数学课】->基础思想篇->递归(下)->分而治之从归并排序到MapReduce
热门文章
- MATLAB函数或变量无法识别
- 基于ssm进销存流程管理系统
- 面试中可以问面试官的问题
- 微信公众号图片上传和预览功能前端实现
- 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(二)——自动控制原理
- linux清除网络记录,Linux清除用户登录记录和命令历史方法
- QQ浏览器的历史记录在那 QQ浏览器查看浏览历史的方法
- 天翼网关刷linux,天翼网关3.0-中兴F650光猫最新固件 开Telnet教程
- NCBI Genbank核苷酸序列数据库检索基因序列解读
- 计算机在档案管理中的作用,计算机在档案管理中的运用