我需要确定输入是否由条形码扫描仪进行,并且不允许在现场输入任何其他字符。
由于我的扫描仪会生成keypress
,因此我想在第一个x
输入字符之间获得时间 - 获得平均值,如果平均值是人类不可能的话,它会锁定字段在最后一个角色之后。
我是JS的新手,所以对此任何一步的帮助表示赞赏。
答案 0 :(得分:1)
尝试使用此解决方案:
document.body.onkeydown = function () {
var time = this._time;
var timestamp = new Date().getTime();
if (time) console.log('time: ' + (timestamp - time));
this._time = timestamp;
}
答案 1 :(得分:1)
条形码扫描仪可以配置为在扫描之前和之后添加额外字符。例如,如果代码读取" 5858445",外围设备可能返回" @ 5858445 /"。某些配置可能还会添加空白字符CR,LF或两者。
检查您正在使用的硬件的配置,如果可以,请查看手册。