Android特殊/硬件键未生成javascript事件

我正在寻求使用Phonegap中的Webkit视图为Android构建应用程序,并一直在评估其适用性,但是我遇到了一个重大难题.

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

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

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

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

对于所有ASCII键(a-z,1-9和/?等键),我在虚拟键盘和物理键盘上都可以得到很好的键码,但是对于特殊键,shift,ctrl或箭头键也无法获得.

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

我需要听其他事件以捕获Android中的这些键吗?

我不太担心这个跨平台的问题,该应用程序特定于我的设置-尽管如果将来有办法在整个平台上做到这一点,我可能会在将来将其发布给Android.

解决方法:

本文全面解释了您是否希望编写自己的键盘事件处理程序:JavaScript Madness: Keyboard Events.

上一篇:我无法使用AJAX(XMLHttpRequest)获得responseXML


下一篇:每次更改方向时,Phonegap Android应用都会重置到主屏幕