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

Events 如何在GWT表中侦听键盘事件?,events,gwt,event-handling,keyevent,Events,Gwt,Event Handling,Keyevent,在我的GWT程序中,我有一个表,其中有一个选定的行。我想用键盘上的上下键移动行选择。所以我必须设法抓住关键事件 GWT文档仅处理输入字段中的关键事件。但我没有输入字段 这可能吗?可能这是GWT无法解决的DOM/Javascript限制…它通过使用事件来工作。addNativePreviewHandler(NativePreviewHandler) 但有一些事情需要考虑: 处理程序不限于小部件。对于您的应用程序来说,它是全局的。如果更改小部件,则可能必须手动注册和注销处理程序 浏览器与键盘事件之

在我的GWT程序中,我有一个表,其中有一个选定的行。我想用键盘上的上下键移动行选择。所以我必须设法抓住关键事件

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


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

它通过使用
事件来工作。addNativePreviewHandler(NativePreviewHandler)

但有一些事情需要考虑:

  • 处理程序不限于小部件。对于您的应用程序来说,它是全局的。如果更改小部件,则可能必须手动注册和注销处理程序
  • 浏览器与键盘事件之间存在差异。一些浏览器发送keyDown和keyPress事件,其他浏览器只发送keyDown事件
要解决第二个问题,可以使用以下代码获取浏览器名称:

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