2

在我的 GWT 程序中,我有一个包含选定行的表。我想用键盘上的上下键移动行选择。所以我必须以某种方式捕捉关键事件。

GWT 文档仅处理输入字段中的关键事件。但我没有输入字段!

这可能吗?也许这是 GWT 无法解决的 DOM/Javascript 限制......

4

1 回答 1

2

它通过使用Event.addNativePreviewHandler(NativePreviewHandler handler)

但是有一些事情需要考虑:

  • 处理程序不限于小部件。它对您的应用程序来说是全局的。如果您更改小部件,您可能必须手动注册和取消注册处理程序。
  • 键盘事件存在浏览器差异。一些浏览器发送 keyDown- 和 keyPress-Events,其他浏览器只发送 keyDown-Events。

要解决第二个问题,您可以使用以下代码获取浏览器的名称:

private static native String getUserAgent() /*-{
  return navigator.userAgent.toLowerCase();
}-*/;
于 2010-06-06T06:42:59.937 回答