当按下键盘时,GWT的onPreviewNativeEvent方法会运行两次

3

我在按下 ESC 键时使用事件来显示一条消息,但是它会弹出两次。哪里出错了?

Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
    @Override
    public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
        NativeEvent nativeEvent = event.getNativeEvent();
            if( nativeEvent.getKeyCode() == 27){
            Windows.alert("HELLO");
        }
        }
    });
1个回答

5

它可以响应KeyDown和KeyUp事件。你应该这样做:

public void onPreviewNativeEvent(NativePreviewEvent event) {
    NativeEvent nativeEvent = event.getNativeEvent();
    if ("keydown".equals(nativeEvent.getType())) {
        if (nativeEvent.getKeyCode() == KeyCodes.KEY_ESCAPE) {
            Windows.alert("HELLO");
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接