如何在GWT表中监听键盘事件?

时间:2010-06-05 14:25:10

标签: events gwt event-handling keyevent

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

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

这有可能吗?也许这是一个DOM / Javascript限制,GWT无法解决...

1 个答案:

答案 0 :(得分:2)

使用Event.addNativePreviewHandler(NativePreviewHandler handler)

但有些事情需要考虑:

  • 处理程序不限于窗口小部件。它适用于您的应用程序。如果更改小部件,则可能需要手动注册和取消注册处理程序。
  • 浏览器与键盘事件存在差异。有些浏览器发送keyDown-和keyPress-Events,其他浏览器只发送keyDown-Events。

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

private static native String getUserAgent() /*-{
  return navigator.userAgent.toLowerCase();
}-*/;