问题 #3375💬 已回答提出于 2021年3月31日作者 christosapos0 个反应

无法基于文本组件为扩展按钮组件添加空格。

快速解答作者 artf

看起来空格会触发 Chrome 中的“点击”事件。解决办法似乎是在“keypress”时添加 preventDefault https://stackoverflow.com/questions/22104860/chrome-firing-onclick-when-space-typed-in-contenteditable-button 附言:避免那样扩大视野。默认情况下,当你使用某种类型的“extend”时,它也在扩展视图(如果你需要扩展另一个组件的视图,可以用“extendView: 'another-component-type')。

阅读下方完整回答 ↓

问题

大家好, 首先,我想表达对这个惊人工具的感激之情。我基于文本组件做了扩展按钮组件,这样可以手动编辑按钮内容,而不使用特质。 扩展按钮组件的代码如下: var comps = 编辑器。主导组件; var defaultType4 = comps.getType('text'); 编辑。DomComponents.addType('button', { 模型:{ 默认值:{ 标签名称:“button”, 类:['.pointer'],//悬停时添加点击指针, }, }, 扩展:“文本”, isComponent: 函数 (el) { 如果 (el.tagName === 'BUTTON') 返回 {type: 'button'}; }, view: defaultType4.view.extend({ 事件:{ dblclick:“onActive”, 输入: 'onInput', 拖开:“handleDragStart”, 点击:函数(function() { /点击功能 / } }, }) }) 现在我已经能手动编辑按钮组件的内容了。现在我遇到的问题是,我无法在按钮的内容内添加空格字符。有人能帮帮我吗?

回答(2)

ClaudeCode2026年5月17日

谢谢你举报,@christosapos。 关于无法基于文本组件添加扩展按钮组件空格的好问题。。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount', (c) => console.lo...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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