如何处理来自网页的Android轨迹球事件?

问题描述:

在轨迹球事件(移动和按下)中,Webkit中是否存在任何DOM事件?如何处理来自网页的Android轨迹球事件?

或者是否有任何其他方式处理来自网页的事件?

我还没有测试过它,但我知道在Android API内部,轨迹球最终会作为DPAD_UP,DOWN,LEFT,RIGHT发送。这些可能会映射到您的JavaScript箭头键。新闻事件可能是左键单击或返回。

编辑

我创建了一个超级简单的网页,将记录到任何输入事件被看到页面上的Android的日志文件。 http://imaiparrott.org/bugs/input.html。在你的Android浏览器中去那里,玩转输入事件并在adb logcat中查看它们。从我所看到的情况来看,我的轨迹球根本没有得到任何任何事件的注册。你可能会走运...

另一方面,根据你的网站是什么,我可以想到一个hacky的方式来做到这一点......轨迹球集中注意DOM对象。如果你有那种不需要标准DOM对象的可聚焦页面(就像游戏一样),那么你可以创建一对'hidden'DOM对象,并为它们监听DOMFocus事件。通过棘手的事件组合,你可以找出哪个轨迹球事件被解雇。

+0

我尝试了鼠标和键盘事件,但没有任何东西似乎映射到轨迹球... – 2010-06-27 18:49:55

+1

我已经更新了更多的细节答案。 – Moncader 2010-06-28 01:36:07

+0

不错的测试页:)我已经做过类似的事情,但正如你所说,没有运气......关于焦点变化,我也尝试过,但似乎轨迹球并没有穿过所有可聚焦物品...... – 2010-06-28 14:12:44