键盘快捷键/按键映射无法使用
你说得对,不是React或GrapesJS。事件传播被我使用的[rc-drawer](https://github.com/react-component/drawer)组件阻止了。@artf谢谢你的帮助,这个问题从一开始就存在。
阅读下方完整回答 ↓问题
版本: 0.17.22
你能重现演示中的bug吗?
- 是的
- 不
我无法在演示中复现,但你可以用以下凭证登录[Documint](https://app.documint.me)亲自观看:
- 电子邮件: [email protected]
- PW: 演示
然后修改模板,试试用“ctrl+z”。
预期的行为是什么? 应该能使用映射的快捷键(比如 Ctrl+Z),但它们不起作用。
目前的行为是什么? 键映射是注册的,但它们无法使用。当我运行 'keymaps.getAll()' 时,会看到所有默认的 keymaps 列表。当我听到键位映射的发射时,我什么都没有。当我通过配置添加自定义键位映射(比如“alt+u”),或者在初始化时添加时,也不会触发。
我真的不知道该怎么办。有人能帮帮我吗?
你能附上截图、截屏或实时演示吗?
- 是的(附上)
- 不
回答(4)
你说得对,不是React或GrapesJS。事件传播被我使用的[rc-drawer](https://github.com/react-component/drawer)组件阻止了。@artf谢谢你的帮助,这个问题从一开始就存在。
嘿,@Joshmamroud我们有[代码](https://github.com/artf/grapesjs/blob/75be5144a95488e557afabeca8ae50da8e15c60a/src/canvas/view/FrameView.js#L432-L444)可以将“keydown keyup keypress”事件传播到父文档,这样可以让keymaps正常工作,但一定要确保不包含任何阻止这些事件传播的代码或组件。
嘿,@artf,我觉得这可能被React屏蔽了。有什么建议能重新绑定这些活动听众吗?甚至不确定这是不是正确的解决方案或路径。
谢谢你举报,@Joshmamroud。 键盘快捷键/按键映射无法使用的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #4607
当带子元素移动时的 JS 错误
葡萄JS版本[x] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v104可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 如何复现这个漏洞?选择一个元素按住CTRL键,选择子元素尝试移动这些元素 预期的行为...
问题 #4416
无法用模板文字解析特征值(字符串插值)
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v103.0.5060.53 可复制演示链接 https://codesandbox.io/s/grapes-js-template-literal-1p7sx2?file=/src...
问题 #3731
文本元素在事件扩展后无法重复选择
版本:0.17.25 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 通过在视图中添加事件来更新现有的类型文本组件。 详细描述那个漏洞 事件正在添加,但一旦我选择了另一个组件,就无法回到第一个组件。该版本只能提交一次。 你能附上截图、截屏或实时演示吗?**...
问题 #6695
防止默认不适用于 Edge
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge 144.0.3719.92 可复制演示链接 https://jsfiddle.net/L61f0qtz/ 描述一下那个虫子 如何复现这个漏洞? 在 Microsoft Edge...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Embed GrapesJS in Your SaaS: A Weekend Guide
Embed GrapesJS in your SaaS and ship a white-label page builder over a weekend. Honest tradeoffs, real code, and the plugins that close the UX gap.
教程
Big news from DevFuture — we just repriced everything
Hey GrapesJS community 👋 we just repriced all prices on plugins.
教程
Super Tooltip for GrapesJS — Version 0.1.5 Released 🎉
We’re excited to announce the v 0.1.5 update of Super Tooltip, our floating‑menu and tooltip plugin for GrapesJS
浏览插件分类
直接跳转到市场上的插件分类页面。