NS_ERROR_FAILURE rte.exec
这是葡萄处理组件的方式出了问题吗?你能帮我理解为什么会这样,以及我该怎么做来解决吗? 是的,这就是内置文本组件和RTE的工作原理,所以我建议你更新你的“result()”逻辑,增加一个检查所选组件是否是链接,如果是这样,就用别的东西替换它 “''js const comp = editor.getSelected(); comp.is('link') & & comp.replaceWith('${comp.get('content')}'); ```
阅读下方完整回答 ↓问题
我目前正在使用 GrapesJS 为我的网站的博客文章构建一个编辑器。我想改变默认行为的一点是,无法“解除绑定”已经通过rte工具栏转换成超链接的文本。于是我写了以下函数: 这个功能允许你撤销链接,只要光标/选择在超链接文本中的任何位置。 我通过选择段落中的一部分文本并将其转换为超链接,方法如下(超链接按钮是RTE工具栏中最右边的按钮):  [工作案例] 正如你从左侧图层管理器看到的,尽管选区(“GrapesJS”)已经转换成链接,但除非我点击当前文本块外,否则它不会被识别为新组件。 此时,我可以再次选择文本,并点击与超链接命令关联的按钮成功解除链接。  [失败案例] 然而,如果链接创建后我点击块外,链接会被识别为组件,并在图层管理器中显示为文本节点的子节点。 现在,如果我尝试点击链接内并按下按钮,它不起作用,反而在执行 http://unpkg.com/...
回答(2)
这是葡萄处理组件的方式出了问题吗?你能帮我理解为什么会这样,以及我该怎么做来解决吗?
是的,这就是内置文本组件和RTE的工作原理,所以我建议你更新你的“result()”逻辑,增加一个检查所选组件是否是链接,如果是这样,就用别的东西替换它 “''js const comp = editor.getSelected(); comp.is('link') & & comp.replaceWith('${comp.get('content')}');
这方法非常成功!谢谢!
相关问答
通过相似的问题讨论继续研究。
问题 #1327
替换选定文本并获取 HTML
嗨! 我正在尝试用一个代码替换选中的文本(随机代码)。它能用,我能看到代码,但当我用 editor.getHtml() 时却不行。如果我取消选中该组件(选择另一个),变更就会生效。 谢谢!
问题 #2336
“RichTextEditor”更新
你好@artf, 我正在考虑为“RichTextEditor”开一个PR更新。我想先和你商量一下这个想法再动手。 它建议将动作改为“状态”,这是一个可选函数,返回一个整数来表示每个动作的状态;活跃者1人,非活跃者0人,残疾者减1人。 这本质上允许设置动作的样式和功能,而无需将对...
问题 #2189
如何在RTE/自定义块中添加“有序/无序列表”选项
嗨 我正在尝试用葡萄制作一个有序列表。我尝试在RTE中添加以下内容: 如果我的页面在编辑器初始化时预先填充了 html,这个方法就适用,比如下面: 预填充编辑器:  非常感谢你...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。