//监听扫码枪
function ListenScanCodeGun() {
var barCode = '';
var lastTime = 0;
function ClearBarCode() {
barCode = '';
lastTime = 0;
}
window.addEventListener('keypress', function (e) {
console.log("监听开始");
e = e || window.event;
var currCode = e.keyCode || e.which || e.charCode;
var currTime = new Date().getTime();
if (lastTime > 0) {
if (currTime - lastTime <= 100) {
barCode += String.fromCharCode(currCode);
}
else if (currTime - lastTime > 500) {
// 输入间隔500毫秒清空
ClearBarCode();
}
}
else // 第一次按键
{
barCode = String.fromCharCode(currCode);
}
lastTime = currTime;
if (currCode == 13) // 回车
{
if (barCode && barCode.length >= 8) {
// 这里得到码,做下一步业务处理
console.log("最终编号:" + barCode);
}
// 回车输入后清空
ClearBarCode();
}
});
}
上面currTime - lastTime <= 100
里的100毫秒根据你的扫码枪实际情况进行调整,barCode && barCode.length >= 8
里的8位数根据你的业务编码规则进行调整。