BUG:退出编辑后链接上的样式消失或嵌套文本元素
问题
你好,
我正在编辑带有版本 0.16.3 + newsleter-plugin 的遗留 HTML。样式存储在内联(因为该工具用于邮件编辑),我使用“componentFirst: true”这个功能。
我在编辑包含其他文本元素的组件文本时遇到了一个问题。
<div style=“font-size: 20px;” class=“my-class” >
文本组件
<span style=“font-size: 35px;”>---并包含文本---</span>
</div>
一旦我编辑父div中的文本,嵌套元素的样式在模糊处消失。内联样式存储在 ID 上,子节点的 id 完全移除。 我该如何阻止这种情况发生?
该行为在JSFiddle中展示了:https://jsfiddle.net/jsh8yv4p/
我读过可以将父 div 中的文本包含在 span 或其他文本元素中,但由于编辑器加载的 HTML 是遗留的,我不想以这种方式更改其结构。
有没有办法编辑可能有子节点的文本而不更改子节点?
提前感谢大家, 拉维尼亚
回答(3)
你好,@orosl,感谢你的报告。我找到并修复了这个bug,所以它将在下一个版本中发布。
你好@artf,非常感谢你的及时回复和发布。我升级到了最新版本0.16.27。不过我仍然遇到这个问题,只是行为稍微不同。 我不确定是否应该开一个新问题,因为问题已经部分解决了,但无论如何,我会在这里解释一下这个行为。 给出与上述类似配置并在演示中展示的方案:https://jsfiddle.net/x5srzpvk/5 如果我在嵌套的 span 元素中更改链接(或其他类似元素)的样式,编辑后样式丢失,因为 id 被更改(样式保留在 id 上)。 因此,id: jp365 变换为 jp365-2,并且每次编辑后都会继续添加 -2-2。 我在多次类似的情况下遇到过这种行为。 此外,经过多次编辑后...
谢谢@orosl其实修复方法是内部组件有效,但嵌套组件不行。我会在下一个版本里修正
相关问答
通过相似的问题讨论继续研究。
问题 #4083
Set root 不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/...
问题 #4310
样式管理器在使用包含“bout”和 componentFirst = true 的组合 CSS 选择器时不准确
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 100 可复制演示链接 https://jsfiddle.net/4fmd732c/3/ 描述一下那个虫子 如何复现这个漏洞? 给定 a) “componentFirst”设置为“t...
问题 #3152
蓝色轮廓(GJS-悬停)在滚动时不会跟随其父轮廓
版本:16.27 你能重现演示中的bug吗? [x] 是的 [ ] 不 描述一下这个bug: 我发现了“gjs-hovered”(负责元素鼠标悬停轮廓的类)存在问题。有时蓝色轮廓在滚动时相对于其父轮廓会移动。 看看这个JsFiddle(并用鼠标滚轮滚动):https://jsf...
问题 #5141
组件在更新性状时重置属性值(仅首次)
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 113.0.5672.63 可复制演示链接 https://jsfiddle.net/rajevar/zLs8q97f/4/ 描述一下那个虫子 这是针对这次讨论 https:/...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Vanilla GrapesJS vs GrapesJS With Plugins: What You Actually Get Out of the Box (2026)
New to GrapesJS? See exactly what the stock editor gives you, where it falls short, and which plugins close the gaps — a beginner-friendly 2026 comparison
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How We Built Composeit in Record Time Using GrapesJS Shadcn
Bypass foundational builder boilerplate and focus on what truly matters.
浏览插件分类
直接跳转到市场上的插件分类页面。