7

私はこれに何度も遭遇しましたが、包括的なものは見つかりません。GWT のすべての有効な消費可能な DOM イベントの完全なリストを知りたいです。

NativeEventのGWT ドキュメントには次のように書かれています。

public final java.lang.String getType()
Gets the enumerated type of this event.
Returns:
the event's enumerated type

この列挙はどこにありますか?それは実際に存在しますか?これらのイベントが常に文字列を使用することを明示的に示す実際のコード (私が見つけた) は、「click」、「contextmenu」、「mouseup」、「dblclick」などです (etc は非常に多くの漠然としたものをカバーしています ...)

この投稿でCellTable alaのセルにダブルクリックと右クリックの両方を実装しようとしています。私は super("click", "contextmenu", "mouseup", "dblclick"); を渡しています。AbstractCell の私の拡張機能のコンストラクターで。次に、onBrowserEvent をオーバーライドしました。

@Override

    public void onBrowserEvent(Context context, Element parent, ImageProperties<T> value,
            NativeEvent event, ValueUpdater<ImageProperties<T>> valueUpdater) {
        if (event.getButton() == NativeEvent.BUTTON_RIGHT) {
            event.stopPropagation();
            event.preventDefault();
            eventBus.fireEvent(new RightClickEvent<Context>(context, event));
        } else {
            super.onBrowserEvent(context, parent, value, event, valueUpdater);
        }
    }

ただし、2 つの問題が発生します。1 つ目は、デフォルトの contextMenu がまだ表示されていることです (私のカスタム コンテキスト メニューよりも上です)。言うまでもなく、DOM イベント タイプも使用されていません。別の問題ですが、ダブルクリックイベントかどうかを確認するにはどうすればよいですか? 文字通り任意の文字列のセットだとは信じがたいです...

前もって感謝します!ジョン

4

2 に答える 2

4

ネイティブ JavaScript DOM イベント タイプは実際には任意の文字列であり、特定のイベント タイプ (およびその名前) のサポートはブラウザに依存する場合があります。

于 2011-03-05T01:23:06.997 に答える
3

探している列挙は、BrowserEventsクラスに存在します。「マジック」文字列リテラルの代わりに、これらの定数を使用する必要があります。

于 2013-02-04T11:57:46.200 に答える