二维码和条形码扫描仪其实是模拟键盘输入的操作,只是操作比键盘要快很多,其实想要检测扫描仪输入完成的操作,可以有多种方式,一个是比较笨的,就是设置防抖操作,等间隔超过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;
}