javascript - Cordova:使用带有键盘模拟的外部条形码读取器时的键盘事件

标签 javascript android events cordova keyboard

我正在开发一个带有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/

相关文章:

javascript - 在 Javascript 中用空格拆分数组行

javascript - 响应式设计和点击事件

android - 为什么 Android WebView 加载网页的方式与默认浏览器不同?

JavaScript 图形在 Android Web View 中不可见

jQuery 对用户触发器和程序触发器的 click() 响应不同

javascript - 将多个值传递/发送到具有 var 名称和元素的 jQuery 函数 [init(div :'#div' ,txt :'hello' )/init(div ='#div' ,txt ='hello' )]

javascript - 使用 Advanced Drive Services 创建电子表格

java - MVVM 在远程类中共享首选项

javascript - jQuery - 注册/取消注册元素 "document"的监听器

javascript - 如何检测 Internet Explorer 10+ 中的点击次数