在GWT中单击ESCAPE(ESC)时关闭Dialogbox

26 gwt dialog keylistener

如何在对话框中添加类似addCloseHandler的内容,以便在单击ESC键时关闭?

z00*_*0bs 38

您可以覆盖该类的onPreviewNativeEvent()方法DialogBox:

public void onModuleLoad() {
    ExtendedDialogBox dialog = new ExtendedDialogBox();

    dialog.add(new Label("some content"));

    dialog.show();
}

private class ExtendedDialogBox extends DialogBox {

    @Override
    protected void onPreviewNativeEvent(NativePreviewEvent event) {
        super.onPreviewNativeEvent(event);
        switch (event.getTypeInt()) {
            case Event.ONKEYDOWN:
                if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ESCAPE) {
                    hide();
                }
                break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢,在Google中搜索,在搜索结果中排名第一,这对我来说很有用 (2认同)