扫码枪在日常生活中,经常可以看到,比较多的就是超市,网页中我们需要用获取扫码枪的值,就需要用到JavaScript来获取,后再执行操作。JavaScript获取扫码枪数据,扫码枪相当于键盘输入设备,输入一连串数字后加一个
扫码枪在日常生活中,经常可以看到,比较多的就是超市,网页中我们需要用获取扫码枪的值,就需要用到JavaScript来获取,后再执行操作。JavaScript获取扫码枪数据,扫码枪相当于键盘输入设备,输入一连串数字后加一个enter键。以下教大家怎么获取扫码枪的值:
1、放置文本框:首先放置文本输入框,用于接收扫码枪赋值(如果不想显示输入框,可以使用样式将其隐藏即可)
<input type="text" class="codevalue" >
2、聚焦文本框:设置定时聚焦文本框,每隔半秒执行一次聚焦,防止文本框失去焦点
setInterval(function() {
$('.codevalue').focus()
console.log('连接成功')
}, 500); //1000毫秒等于1秒钟
3、文本框赋值:获取扫码枪的值,并赋值给文本框
var char = ""; //记录扫描枪输入的内容
var lastTime=null;//上次输入的时间
var nextTime=null;//这次输入的时间
var lastCode=null;//上次输入的键值(接收到的为ASCII值)
var nextCode=null;//这次输入的键值(接收到的为ASCII值)
$(document).keydown(function(event){
nextTime = new Date().getTime();//获取当前键入的时间
//判断是否输入了回车按钮,并确认是扫描枪键入的值
if (event.keyCode === 13 && char !== "" && nextTime - lastTime <= 30){
//把监听到的数据显示在我的文本框上
$(".codevalue").val(char);
console.log('获取到值1--' +char)
//清空数值,以便下一次扫描
char = "";
lastCode = null;
lastTime = null;
}else {
//获取键入的键值
nextCode = event.keyCode;
//如果是第一个字母你可以进行一些代码增强,我这里并没有处理,直接转换了
if(lastCode == null && lastTime == null){
//初始字母
char = String.fromCharCode(nextCode);
//写入你要增强的代码。。。
// console.log('获取到值2--' +char)
//判断是否是扫描枪键入的值
}else if(lastCode != null&&lastTime!= null && nextTime - lastTime <= 30){
//键入的值为ASCII码,要获取对应得值,需要转换一下
char += String.fromCharCode(nextCode);//存到char中,拼接上次的结果
} else{
//判断为手动输入,不做任何处理,数据保持为null即可
// alert("suck");
char = "";
lastTime=null;
nextTime=null;
lastCode=null;
nextCode=null;
}
//lastCode、lastTime为中间变量,存储数据,让nextCode与nextTime可以存新数据
//nextCode与nextTime要存储新键入按钮的信息
lastCode = nextCode;
lastTime = nextTime;
}
})
4、执行操作:监听文本的值,执行后置操作
$('.codevalue').change(function () {
//获取选中下拉框的属性值
let val = $('.codevalue').val();
$('.codevalue').focus()
//这里写逻辑代码
})
这就是简单的获取扫码枪值的方法,供大家参考。
沃梦达教程
本文标题为:如何使用JavaScript获取扫码枪扫码数据,执行相应的操作
基础教程推荐
猜你喜欢
- 深入浅析Jsonp解决ajax跨域问题 2022-12-28
- vue的 Mixins (混入) 2023-10-08
- 关于 css:WebKit (iPad) CSS3: 背景过渡闪烁 2022-09-21
- 分页技术原理与实现之无刷新的Ajax分页技术(三) 2023-01-20
- ExtJS 3.x DateField menuListeners 显示/隐藏 2022-09-15
- 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽) 2023-02-01
- Vue+WebSocket实现在线聊天 2023-10-08
- 解决ajax的delete、put方法接收不到参数的问题方法 2023-02-23
- 第7天:CSS入门 2022-11-04
- ECSHOP中实现ajax弹窗登录功能 2023-01-31