在 GWT 应用程序中捕获 ctr-z(撤消)和 ctr-y(重做)

发布于 2024-12-12 10:59:40 字数 143 浏览 1 评论 0原文

我一直在编写一个基于 GWT 2.3 的 Web 应用程序,并且我还编写了自己的撤消和重做功能。当用户按 ctr-z 或 ctr-y 时,将撤消或重做最后的更改。他们是一种有效检测页面上任何位置发生的 ctr-z 和 ctr-y 按键事件并导致它们运行我自己的函数的方法。

I have been writing a web application baased on GWT 2.3 and along with it I have written my own undo and redo functions. When the user presses ctr-z or ctr-y the undoes or redoes the last changes. Is their a way to effectively detect the ctr-z and ctr-y keypress events that occur anywhere on the page and cause them to run my own functions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

话少心凉 2024-12-19 10:59:40

添加 <代码>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
      }
    }
  }
});

Add a 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
      }
    }
  }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文