现在,我有以下代码可以正常工作:
@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);
}