现在,我有以下代码可以正常工作:

@UiHandler("usernameTextBox")
void onUsernameTextBoxKeyPress(KeyPressEvent event) {
    keyPress(event);
}

@UiHandler("passwordTextBox")
void onPasswordTextBoxKeyPress(KeyPressEvent event) {
    keyPress(event);
}

void keyPress(KeyPressEvent event) {
    if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
        submit();
    }
}

我希望能够只对 View 中的所有元素使用一个监听器,而不必为每个文本框都复制一个事件。

最终目标是,如果他们按Enter键,则无论他们在页面上的什么位置,都应提交表单。

谢谢!

最佳答案

什么有效,但仍然需要您为每个小部件指定它,但不需要重复的代码:

@UiHandler({"usernameTextBox", "passwordTextBox"})
void onPasswordTextBoxKeyPress(KeyPressEvent event) {
    keyPress(event);
}

09-08 05:09