我已经多次遇到这个问题,找不到任何全面的东西。我想知道 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”等。(等等涵盖了很多模糊不清......)
我正在尝试为 CellTable ala this post中的单元格实现双击和右键单击。我正在传递 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);
}
}
但是,我遇到了两个问题。一,仍然会显示默认的 contextMenu(在我的自定义菜单上)——更不用说它甚至不使用 DOM 事件类型。另一个问题,我如何检查它是否是双击事件?我很难相信它实际上是一组任意字符串......
提前致谢!约翰