使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解


Posted in Javascript onJune 10, 2020

下面通过实例代码给大家介绍js扫码枪扫描条形码的实现方法,具体代码如下所示:

var keycode = "";
  var lastTime=null,nextTime;
  var lastCode=null,nextCode;
	document.οnkeydοwn=function(e){
		if(window.event){
			// IE
			nextCode = e.keyCode
		} else if(e.which){
			// Netscape/Firefox/Opera
			nextCode = e.which
		}
		
		//+键,增加新数据行
		if(nextCode==107 || nextCode==187){
			addNewGoodLine();
		} 
		//-键,删除最后一条数据行
		else if(nextCode==109 || nextCode==189){
			$(".new_products:last").remove();
		}
		//字母上方 数字键0-9 对应键码值 48-57
		//数字键盘 数字键0-9 对应键码值 96-105
		else if((nextCode>=48&&nextCode<=57) || (nextCode>=96&&nextCode<=105)){
			//数字键盘的键码值对应的字符有问题,所以手动调整键码值
			var 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(lastCode == null && lastTime == null) {
		  	keycode = String.fromCharCode(nextCode);
		  } else if(lastCode != null && lastTime != null && nextTime - lastTime <= 30) {
		  	keycode += String.fromCharCode(nextCode);
		  } else{
				keycode = "";
			  lastCode = null;
			  lastTime = null;
			}
		  lastCode = nextCode;
		  lastTime = nextTime;
		}
		//13 为按键Enter
		else if(nextCode==13 && keycode!= ""){
			var code = $(".new_products:last .code").val();
			if(code != ""){
				//最后一行已录入数据,重新生成新行
				addNewGoodLine();
			}
			$(".new_products:last .code").val(keycode).blur();
			keycode = "";
		  lastCode = null;
		  lastTime = null;
		}
	}
	
	function addNewGoodLine(){
		//生成新数据行
		var html = '<tr class="new_products">';
			html += '	<td></td>';
			html += '	<td>';
			html += '		<input type="text" class="code" οnblur="getProductDetail()" />';
			html += '	</td>';
			html += '</tr>';
	}
	
	function getProductDetail(){
		//获取商品的详细信息,然后赋值
		
	}

思路:

1.注册onkeydown事件,捕获数字键的按下事件

2.计算按下数字键的时间间隔,若间隔小于30毫秒,则为扫码枪输入

3.捕获Enter案件的按下事件,判断捕获的扫码枪输入数值是否为空,不为空,对相应的文本框赋值,同时触发按找条形码查找商品的方法

总结

到此这篇关于使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解的文章就介绍到这了,更多相关js扫码枪扫描条形码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
详解Javascript动态操作CSS
Dec 08 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 Javascript
JS实现刷新父页面不弹出提示框的方法
Jun 22 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
微信小程序中使用echarts的实现方法
Apr 24 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 Javascript
vue 解决IOS10低版本白屏的问题
Nov 17 Javascript
js 获取扫码枪输入数据的方法
Jun 10 #Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 #Javascript
使用 UniApp 实现小程序的微信登录功能
Jun 09 #Javascript
详解vue高级特性
Jun 09 #Javascript
vue实例的选项总结
Jun 09 #Javascript
微信小程序中的列表切换功能实例代码详解
Jun 09 #Javascript
vue项目或网页上实现文字转换成语音播放功能
Jun 09 #Javascript
You might like
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
JavaScript运算符小结
2015/06/03 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
django admin 添加自定义链接方式
2020/03/11 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
房地产财务部员工岗位职责
2014/03/12 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
第一书记观后感
2015/06/08 职场文书
创业计划书之服装
2019/10/07 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
react 路由Link配置详解
2021/11/11 Javascript
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技