想要让输入框判断输入来源是扫码枪而不是手动输入,在网上找了一下,这个朋友整理的最全面,但是代码量有点多,有人说根据两次按键的输入间隔判断,所以个人开动了一下大脑,做了一个比较简单的
https://www.cnblogs.com/skyfynn/p/6589866.html?utm_source=tuicool&utm_medium=referral
下面是我自己写的,代码量很少,但是个人觉得足够用了
<input type="text" id="inputText" />
var timearr = [0,0];
$('#inputText').keyup(function(e){
if($(this).val().length%2 != 0 ){
//求余数不为0是奇数
timearr[0] = new Date().getTime();
}else{
timearr[1] = new Date().getTime();
}
//当输入第二位时判断两次输入的间隔,判断是否为手动输入,间隔过长清空值
if($(this).val().length > 1 && Math.abs(timearr[1] - timearr[0]) > 40){
$(this).val('')
}
})
首先,定义一个长度2的数组,然后写了一个keyup事件,从input框输入第二个字符时计算第二次输入和第一次输入的间隔,当时间大于一定程度时就判定为手动输入,然后清空输入框的内容。