2

私の GWT プログラムには、選択された行を持つテーブルがあります。キーボードの上下キーで行選択を移動したいです。そのため、どうにかして重要なイベントをキャッチする必要があります。

GWT のドキュメントは、入力フィールドでのみキー イベントを処理します。しかし、私は入力フィールドを持っていません!

これはまったく可能ですか?おそらく、GWT が回避できないのは DOM/Javascript の制限です...

4

1 に答える 1

2

使用することで機能しますEvent.addNativePreviewHandler(NativePreviewHandler handler)

ただし、考慮すべき点がいくつかあります。

  • ハンドラーはウィジェットに限定されません。アプリケーションにとってグローバルです。ウィジェットを変更する場合、ハンドラーを手動で登録および登録解除する必要がある場合があります。
  • キーボード イベントにはブラウザの違いがあります。一部のブラウザーは keyDown- および keyPress-Events を送信し、他のブラウザーは keyDown-Events のみを送信します。

2 番目の問題を回避するには、次のコードを使用してブラウザーの名前を取得できます。

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