3

イベントを使用して、ESC キーを押したときにメッセージを表示しますが、アラートが 2 回表示されます。間違いはどこですか?

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

1 に答える 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");
        }
    }
}
于 2013-01-05T13:23:29.463 に答える