我在 GWT 应用程序中使用 RichTextArea。我想在 RichTextArea 中添加一个上下文菜单:

public class MyRichTextArea extends RichTextArea implements HasContextMenuHandlers {
    public HandlerRegistration addContextMenuHandler(ContextMenuHandler h) {
        return addDomHandler(h, ContextMenuEvent.getType());
    }
}

(……)
myRichTextArea.addContextMenuHandler(new ContextMenuHandler() {
    public void onContextMenu(ContextMenuEvent event) {
        contextMenu.show();
    }
});

但是,这是有效的,上下文菜单仅在我右键单击 RichTextArea 的边框时出现。如果我右键单击 RichTextArea,例如在包含的文本上,会显示浏览器的默认上下文菜单。

如何显示我自己的上下文菜单?

最佳答案

防止默认上下文菜单:

myRichTextArea.addDomHandler(new ContextMenuHandler() {

@Override public void onContextMenu(ContextMenuEvent event) {
    event.preventDefault();
    event.stopPropagation();
            // do what you want to do instead
}

}, ContextMenuEvent.getType());

关于GWT:RichTextArea 中的上下文菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1613658/

10-11 15:02