Keymaster 无法解绑按键。
我在想Keymaster里的unbind命令是不是本来是用来处理单个键,而不是在退格键的情况下处理多个键,但复制/粘贴/撤销/重做功能是正常的。 嗯,它和其他键位映射兼容,所以我觉得它能处理这个选项,但我完全不明白“退格,删除”有什么问题(用“删除,退格”时甚至会触发错误???)看起来一个简单的解决方案是在这里拆分keymap.key字符串,然后逐个解绑键 同意,但你说的“我给方向键添加了自定义键映射”的情况呢?它和分体系统一起用吗?PR非常受欢迎:)我也注意到Keymaster有一段时间没更新了,可能值得换个 是的,我也注意到了,但这可能需要花点功夫。你已经知道有什么好的替代品了吗?
阅读下方完整回答 ↓问题
这在运行“0.16.12”''的[demo site](https://grapesjs.com/demo.html)上可以复现。
在控制台里,运行“''编辑器”。Keymaps.removeAll()'' 并尝试删除一个组件。它确实会删除组件,但我认为不应该删除。看起来其他键映射的解绑都正常。
我不确定这是Grapesjs还是Keymaster的问题。我在给方向键添加自定义键位映射时注意到这个问题,发现调用“editor.destroy()”''时没有被清理干净。
我注意到可以这样解绑删除命令:
编辑。Keymaps.keymaster.unbind('backspace');
编辑。Keymaps.keymaster.unbind('delete');
我在想Keymaster里的unbind命令是不是本来是要处理单个键,而不是在退格键的情况下处理多个键,但复制/粘贴/撤销/重做功能是正常的。
看起来一个简单的解决方案是拆分 [这里](https://github.com/artf/grapesjs/blob/dev/src/keymaps/index.js#L202)的 “keymap.keys”“字符串,然后逐个解绑键。另外注意到Keymaster有一段时间没更新了,可能值得换个。愿意为此开设永久居民。
回答(3)
我在想Keymaster里的unbind命令是不是本来是用来处理单个键,而不是在退格键的情况下处理多个键,但复制/粘贴/撤销/重做功能是正常的。 嗯,它和其他键位映射兼容,所以我觉得它能处理这个选项,但我完全不明白“退格,删除”有什么问题(用“删除,退格”时甚至会触发错误???)看起来一个简单的解决方案是在这里拆分keymap.key字符串,然后逐个解绑键 同意,但你说的“我给方向键添加了自定义键映射”的情况呢?它和分体系统一起用吗?PR非常受欢迎:)我也注意到Keymaster有一段时间没更新了,可能值得换个 是的,我也注意到了,但这可能需要花点功夫。你已经知道有什么好的替代品了吗?
天哪......我查过Keymaster,发现[解除绑定函数处理多个按键](https://github.com/madrobby/keymaster/blob/master/keymaster.js#L172),所以问题肯定出在别处。我看的时候没发现有什么特别的。当我尝试解绑密钥时,没有出现任何错误。 我在单页应用中使用 GrapesJS,所以我需要销毁 GrapesJS 并重新启动,否则浏览器不会重新加载。我最初就是这样发现这个bug的。当你摧毁、重启并使用删除键或退格键时,回调会调用原始编辑器对象,而不是新的,这会触发错误。 我在调用“editor.destroy()”之前运行这个,似...
你对分弦法满意吗?
当然,看看能不能用
相关问答
通过相似的问题讨论继续研究。
问题 #5346
删除组件而不删除其对应样式
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? <img width=“1665” alt=“im...
问题 #3317
FEAT:增加对自定义RTE API承诺的支持
你想给GrapesJS添加什么? 支持基于承诺的 API 的富文本编辑器。 详细描述你的功能需求详细 CKEditor5 的“Editor.create”和“Editor.destroy”方法返回一个“承诺”,当编辑器完全创建或销毁时才会解决。这会导致销毁编辑器(完成组件编辑)...
问题 #6152
通过自定义代码添加的CSS在移除自定义代码组件后依然存在
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 如何复现这个漏洞?添加带有HTML + CSS的自定义代码组件删除自定义代码组件。 预期的行为是什么?...
问题 #5810
不必要的画布风格
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Arc 版本 1.35.0 / Chromium 引擎 123.0可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 我的特殊情况: 就我而言,插件和通用样式...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。