我是一名有用的助手,可以为您翻译文本。
然而,我遇到了两个问题。首先,默认的上下文菜单仍然会显示(覆盖我的自定义菜单),更不用说它甚至没有使用DOM事件类型。另一个问题是,如何检查是否为双击事件?我发现很难相信它实际上是一组任意的字符串...
提前致谢! John
我遇到了这个问题多次,并且找不到全面的解释。我想知道GWT的所有有效可消费DOM事件的完整列表。
GWT文档中的NativeEvent说:
public final java.lang.String getType()
Gets the enumerated type of this event.
Returns:
the event's enumerated type
这个枚举在哪里?它是否真实存在?我找到的实际使用代码明确表示这些事件总是使用字符串:"click"、"contextmenu"、"mouseup"、"dblclick"等(等等涵盖了很多模糊性...)
我正在尝试为 CellTable 中的单元格实现双击和右键单击,类似于 this post。我在 AbstractCell 的扩展构造函数中传递了 super("click", "contextmenu", "mouseup", "dblclick"); 然后我重写了 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);
}
}
然而,我遇到了两个问题。首先,默认的上下文菜单仍然会显示(覆盖我的自定义菜单),更不用说它甚至没有使用DOM事件类型。另一个问题是,如何检查是否为双击事件?我发现很难相信它实际上是一组任意的字符串...
提前致谢! John