二维码和条形码扫描仪其实是模拟键盘输入的操作,只是操作比键盘要快很多,其实想要检测扫描仪输入完成的操作,可以有多种方式,一个是比较笨的,就是设置防抖操作,等间隔超过50ms就算输入完成,还有一个就是扫描仪输入完成后,会执行一个回车事件,让输入框监听回车事件就好了。
需要注意事项:
1.要让输入框获取焦点,然后再执行扫码操作,这样才会获得扫码输入的值;
2.扫码结束后,会自动回调按下回车的事件
html代码:
<input type="text" id="name-value" onkeydown="keyDown(event)">
js代码:
//enter键-响应
function keyDown(e){
var keycode = 0;
//IE浏览器
if(CheckBrowserIsIE()){
keycode = event.keyCode;
}else{
//火狐浏览器
keycode = e.which;
}
if (keycode == 13 ) //回车键是13
{
AddCondition(1);//回车后的响应函数
}
}
//检测浏览器
function CheckBrowserIsIE(evt){
var result = false;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
result = true;
}
return result;
}