我正在开发一个带有cordova最新版本的Android应用程序,以使用带有通过USB连接的条形码阅读器和键盘模拟数据传输的Android设备。我试图处理条形码读取器每次读取代码时触发的按键事件,但系统会触发句柄函数,但我找不到告诉我键码的事件数据。
我在应用程序启动时使用该代码:
document.addEventListener('keydown',
function(e){
//Here should come the data but e.keycode everytimes comes with 0
});
正如我在上面的代码中所说,事件 var (e) 始终不包含有关触发的事件的信息,就像常规事件对象,但不包含有关关键事件的相关信息。
如果有任何帮助或建议,我将非常感激。
提前致谢
最佳答案
以下是我使用 PG 和条形码扫描设备完成此操作的方法:
占位符和计时器:
var scannerdata = '';
var timer = null;
主要功能:
function getInput (e) {
scannerdata += String.fromCharCode(e.which);
if(timer != null) {
clearTimeout(timer);
}
timer = setTimeout(function() { setInput() }, 100);
}
function setInput () {
//add scanner data to input field::
$('#someInput').val(scannerdata);
scannerdata = '';
//OR pass scanner data to function
someOtherfunction(scannerdata);
scannerdata = '';
}
使用的事件:
document.addEventListener('keyup', getInput, false);
关于javascript - Cordova:使用带有键盘模拟的外部条形码读取器时的键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23793702/