Android特殊/硬件密钥不生成javascript事件

时间:2011-09-26 23:18:05

标签: javascript android javascript-events keyboard cordova

我正在寻找使用Phonegap中的Webkit视图为Android构建一个应用程序,并且一直在评估它的适用性,但是我遇到了一个相当重要的问题。

我也在phonegap之外对此进行了测试,并在此处设置了测试页:http://tane.ifies.org/test.html

我有一个带物理键盘的三星Galaxy Tab。在phonegap应用程序中,似乎完全忽略了特殊键,特别是键盘上的物理箭头键。

我写了一个绑定keyup事件的小测试:

window.addEventListener('keyup', function(e) {
    alert(e.keyCode);
});

对于所有ASCII键(az,1-9和像/?这样的键等),我在虚拟和物理键盘上都能得到一个很好的键码,但同样不能用于特殊键,shift,ctrl或箭头键。

我还创建了一个textarea - 箭头键等工作正常,但似乎仍然没有在我的窗口监听器中产生一个关键事件。

在Android中我是否需要听取其他事件来捕获这些键?

我并不太关心这是跨平台,应用程序特定于我的设置 - 尽管如果有可能在整个平台上执行此操作,我可能会在将来发布它。

1 个答案:

答案 0 :(得分:3)

如果您希望写入自己的键盘事件处理程序,本文将详细解释:JavaScript Madness: Keyboard Events