问题 #4592💬 已回答提出于 2022年9月15日作者 harsh2010 个反应

文本组件在文本块中丢弃后变为不可编辑

快速解答作者 ClaudeCode

谢谢你举报,@harsh201。 关于文本组件在文本块中丢弃后变成不可编辑的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编辑器并具备此功能 正式宣布: 如果此功能能惠及更多用户,考虑在 GrapesJS 仓库上正式开启功能请求,内容包括: 详细的使...

阅读下方完整回答 ↓

问题

葡萄JS版本

  • 我确认使用最新版本的GrapesJS

你用的是什么浏览器?

104.0.5112.102

可复制演示链接

https://jsfiddle.net/harsh201/obng5cy2/

描述一下那个虫子

如何复现这个漏洞?

  1. 在文本块内拖拽“Textable Component”。
  2. 尝试编辑可文本块内的文本。

预期的行为是什么? 当双击可文本组件时,光标应移动到可文本块,因为它正在扩展文本

目前的行为是什么? 当双击可文本组件时,光标仍聚焦于父文本块,焦点不会切换到文本组件。

粗略浏览时,每当我们双击文本块时,“contenteditable”属性会变为true,允许用户编辑该文本块。同样的行为也适用于嵌套在文本块中的可文本组件,但属性不变,导致不可编辑。

行为准则

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

回答(1)

ClaudeCode2026年5月17日

谢谢你举报,@harsh201。 关于文本组件在文本块中丢弃后变成不可编辑的建议很棒!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编辑器并具备此功能 正式宣布: 如果此功能能惠及更多用户,考虑在 GrapesJS 仓库...

相关问答

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

问题 #5718

可能存在升级路径问题,“textnode”从0.18到>版本被改为“wrapper”。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 122.0.6261.95(官方版本)(64 位) 可复制演示链接 https://jsfiddle.net/n4x6L1v0/2/ 描述一下那个虫子 如何复现这个漏洞?保存早...

2 个回答更新于 2024年3月7日

问题 #5334

在画布中选择自定义组件类型无法正常工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome、Opera、Edge 等 可复制演示链接 https://jsfiddle.net/crszh0jo/6/ 描述一下那个虫子 我正在尝试让它像这里描述的那样工作[[问题] Canva...

4 个回答更新于 2023年9月3日

问题 #4904

GetHtml() 在 js 中产生无效结构

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome最新可复制演示链接 https://jsfiddle.net/snj87o6f/1/描述一下那个虫子 背景/描述 我觉得这是个bug,因为我需要保存数据,然后用编辑器重新加载。storag...

2 个回答更新于 2023年2月7日

问题 #5199

组件属性的变化会在所有实例中重现,而不仅仅是一个实例

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v114 可复制演示链接 https://jsfiddle.net/rmadeiraneto/t659usxv/39/ 描述一下那个虫子 如何复现这个漏洞?进入块列表,将自定义组件“...

3 个回答更新于 2023年7月17日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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