单元格的有效GWT DOM/consumed事件列表是什么?

单元格的有效GWT DOM/consumed事件列表是什么?,dom,gwt,right-click,Dom,Gwt,Right Click,我已经多次遇到这个问题,但找不到任何全面的答案。我想知道GWT的所有有效可消费DOM事件的完整列表 NativeEvent的报告说: public final java.lang.String getType() Gets the enumerated type of this event. Returns: the event's enumerated type 这个枚举在哪里?它真的存在吗?实际使用的代码(我发现)明确表示这些事件总是使用字符串:“单击”、“上下文菜单”、“鼠标悬停”、“d

我已经多次遇到这个问题,但找不到任何全面的答案。我想知道GWT的所有有效可消费DOM事件的完整列表

NativeEvent的报告说:

public final java.lang.String getType()
Gets the enumerated type of this event.
Returns:
the event's enumerated type
这个枚举在哪里?它真的存在吗?实际使用的代码(我发现)明确表示这些事件总是使用字符串:“单击”、“上下文菜单”、“鼠标悬停”、“dblclick”等(etc涵盖了很多不确定因素…)

我正在尝试在CellTable中实现双击和右键单击单元格。我正在传递super(“单击”、“上下文菜单”、“鼠标”、“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);
        }
    }
@覆盖
public void onBrowserEvent(上下文上下文、元素父级、ImageProperties值、,
NativeEvent事件,ValueUpdater(ValueUpdater){
if(event.getButton()==NativeEvent.BUTTON_RIGHT){
event.stopPropagation();
event.preventDefault();
fireEvent(新的RightClickEvent(上下文,事件));
}否则{
onBrowserEvent(上下文、父级、值、事件、值更新程序);
}
}
然而,我遇到了两个问题。第一,默认的contextMenu仍然会显示(在我的自定义菜单上)——更不用说它甚至不使用DOM事件类型。另一个问题是,如何检查是否是双击事件?我发现很难相信这是一组任意的字符串

提前谢谢!
John

本机JavaScript DOM事件类型和对给定事件类型(及其名称)的支持可能依赖于浏览器。

您要查找的枚举确实存在于中。您应该使用这些常量,而不是“神奇”字符串文字。

双击的解决方案是:如果(event.getType().equals(“dblclick”)。毕竟,您使用GWT是因为您不想为浏览器的怪癖而烦恼,amirite?;)