Захват ctr-z (отменить) и ctr-y (повторить) в приложении GWT - PullRequest
2 голосов
/ 27 октября 2011

Я пишу веб-приложение на основе GWT 2.3, и вместе с ним я написал свои собственные функции отмены и повтора. Когда пользователь нажимает ctr-z или ctr-y, отменяются или возвращаются последние изменения. Это способ эффективно обнаруживать события нажатия клавиш ctr-z и ctr-y, которые происходят в любом месте на странице, и заставлять их запускать мои собственные функции.

1 Ответ

3 голосов
/ 27 октября 2011

Добавить NativePreviewHandler:

Event.addNativePreviewHandler(new NativePreviewHandler() {
  @Override
  public void onPreviewNativeEvent(NativePreviewEvent event) {
    if (event.getTypeInt() == Event.ONKEYDOWN) {
      NativeEvent ne = event.getNativeEvent();

      if (ne.getCtrlKey() && ne.getKeyCode() == 'Z') {
        event.cancel();
        // Handle undo
      } else if (ne.getCtrlKey() && ne.getKeyCode() == 'Y') {
        event.cancel();
        // Handle redo
      }
    }
  }
});
...