我正在寻求使用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.