自定义 HTML DOM 的更改在保存到数据库时会被反映出来
确保使用最新版本,并在调用所需命令前尝试调用选中的组件的“sync:content”,例如: “''js editor.getSelected().trigger('sync:content'); editor.runCommand('gjs-get-inlined-html') ```
阅读下方完整回答 ↓问题
我用以下代码创建了新的工具栏选项,叫做text-align “''js const rteStudio = studio.RichTextEditor; rteStudio.add('text-align', { icon: “<select id=\”textAlignSelector\“ class=\”gjs-field lm select\“>” + “<选项值=''>选择对齐</option>” + “<选项值=\”左\“>左</option>” + “<期权值=\”中心\“>中心</option>” + “<期权价值=\”right\“>Right</option> ” + “</select>, attributes: { title: 'Text Align'}, 事件:“变化”, 结果:(rteStudio,动作) => { var val = action.btn.firstChild.value; var fontTag = “”; if(action.btn.className && (action.btn.className.indexOf(“gjs-rte-active”) < 0)) { action.btn.className += “ ”.concat(“gjs-rte-active”); } var el = rteStudio.getCurr...
回答(3)
确保使用最新版本,并在调用所需命令前尝试调用选中的组件的“sync:content”,例如: “''js editor.getSelected().trigger('sync:content'); editor.runCommand('gjs-get-inlined-html')
@artf,谢谢你的回答。我试过了,但很遗憾没用。我用以下代码获得这个问题: “''js studioCommand.add('com-save', { run: function(studio, sender) { studio.getSelected().trigger(“sync:content”) var studioContent = studio.runCommand('gjs-get-inlined-html'); 使用 ajax 调用将 studioContent 保存到数据库中 } }); ``` 我已经做过了,但什么都没发生。如果有错误,请纠正我。 再次非常感谢你的帮助。
@jadejahardipsinh Grapesjs 版本?
相关问答
通过相似的问题讨论继续研究。
问题 #3218
如何添加带有内联样式的新HTML元素?
我想在“rte.selection()”周围添加一个带有内联样式的新HTML元素。 以下面的例子来说,HTML还可以,但JSON部分可能不太行: “''js const editorRte = this.editor.RichTextEditor // ... editorRt...
问题 #1669
自定义链接模态不会更新当前文本,而是添加带有链接的另一个文本
你好,Artur, 我正在尝试在RTE中点击链接按钮时创建一个自定义模态。但它不会把选中的文本转换成链接,而是添加了带有链接的另一个文本。 谢谢你......
问题 #1206
问题:在嵌套内容中添加脚本时,与单个内容 ta 相比表现出不同的行为
你好, 我们实际上正在尝试添加一个自己的 JS 脚本,可以读取文件并在 HTML 上预览。 但通过添加 BlockManager,我们注意到一种不同的行为,无法执行删除/复制等操作,也无法编辑内部元素。 内容中的内容被视为单一的块元素,我们必须采用这种方法来添加脚本。 以下是我...
问题 #1327
替换选定文本并获取 HTML
嗨! 我正在尝试用一个代码替换选中的文本(随机代码)。它能用,我能看到代码,但当我用 editor.getHtml() 时却不行。如果我取消选中该组件(选择另一个),变更就会生效。 谢谢!
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。