我有一个文本小部件,我想让输入事件表现得像一个选项卡事件。所以我捕获了按键事件并引发了一个选项卡原生事件。
但是,选项卡行为不会反映在应用程序中。事件处理程序的代码是
public void onKeyPress(KeyPressEvent event) {
int keyCode = event.getNativeEvent().getKeyCode();
if (keyCode == KeyCodes.KEY_ENTER) {
NativeEvent nativeEvent =
Document.get().
createKeyPressEvent(false,false,false,false,KeyCodes.KEY_TAB );
DomEvent.fireNativeEvent(nativeEvent, this, this.getElement());
}
当我使用已弃用的 createKeyPressEvent 和更多参数时,它会触发选项卡事件,但行为与选项卡按键不同,即移动到下一个小部件。新代码从上面的 createKeyPress 事件行中的代码更改如下
NativeEvent nativeEvent =
Document.get().
createKeyPressEvent(false,false,false,false,
KeyCodes.KEY_TAB ,KeyCodes.KEY_TAB);