PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #5325💬 已回答提出于 2023年8月21日作者 bohwaz0 个反应

撤销(Ctrl+Z)并不是取消浏览器键盘快捷键

快速解答作者 GJS Helper

你遇到的 Ctrl+Z 同时触发撤销和浏览器“重新打开最后关闭标签页”快捷方式GrapesJS问题,是因为 Ctrl+Z 的keydown事件在 GrapesJS内没有被阻止默认操作。虽然 GrapesJS 内部处理撤销命令,但事件可以被加载到浏览器,浏览器会执行自己的默认快捷方式。 要解决这个问题,你需要明确阻止GrapesJS激活时Ctrl+Z键组合的默认浏览器操作。实现这一点最有力的方法是利用GrapesJS的Keymaps API覆盖或增强默认undo键映射行为。 解决方案:防止浏览器默认操作操作 Ctrl+Z 你可以添加一个自定义的键位映射处理程序,专门针对Ctrl+Z(或在macOS上Cmd+Z),并在执行Grapes...

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

维瓦尔第

可复制演示链接

https://grapesjs.com/demo.html

描述一下那个虫子

如何复现这个漏洞?

  1. 执行动作后按Ctrl+Z,以撤销
  2. 动作被反转,但我的浏览器也会重新打开最后关闭的标签页

预期的行为是什么?

阻止浏览器执行默认的按键绑定。

目前的行为是什么?

Ctrl+Z 事件传播在 JS 中不会被停止,因此浏览器仍然执行指定的快捷键。

行为准则

  • 我同意遵守本项目的行为准则

回答(1)

GJS Helper• 2026年5月17日

你遇到的 Ctrl+Z 同时触发撤销和浏览器“重新打开最后关闭标签页”快捷方式GrapesJS问题,是因为 Ctrl+Z 的keydown事件在 GrapesJS内没有被阻止默认操作。虽然 GrapesJS 内部处理撤销命令,但事件可以被加载到浏览器,浏览器会执行自己的默认快捷方式。 要解决这个问题,你需要明确阻止GrapesJS激活时Ctrl+Z键组合的默认浏览器操作。实现这一点最有力的方法是利用GrapesJS的Keymaps API覆盖或增强默认undo键映射行为。 解决方案:防止浏览器默认操作操作 Ctrl+Z 你可以添加一个自定义的键位映射处理程序,专门针对Ctrl+Z(或在mac...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。