我已经向tinymce工具栏添加了一个自定义下拉菜单。当用户选择一个选项时,它将在编辑器窗口中插入一个可点击的项目。我有它的工作,但问题是TinyMCE一直在链接周围添加段落标记,这迫使它们转到新行。
用户可以在编辑器中键入内容,因此我不想禁用自动段落功能。当我以编程方式将内容添加到编辑器时,我只需要阻止它发生。我正在使用editor.setContent
插入链接。
setup: function (editor) {
editor.addButton('itemreference', {
type: 'listbox',
text: 'Insert Link',
icon: false,
onselect: function (e) {
var editorContent = editor.getBody().outerHTML + this.value();
// editor.settings.forced_root_block = false;
editor.setContent(editorContent, {format: 'raw'});
// editor.settings.forced_root_block = "p";
},
values: tinydropdownvalues,
})
}
这是this.value()返回的示例记录
<span class="inlinelink"><a href="javascript:showDetails(1)"><i class="fa fa-tick"></i></a></span>
在设置html之前,我尝试过切换设置,但是未反映对设置的更改。我也尝试使用editor.insertContent
。完全按照我想要的方式运行,但是此方法会剥离HTML,这对我来说毫无用处。
在没有TinyMCE添加额外的段落标签并且没有修改html字符串内容的情况下,将HTML添加到编辑器的最佳方法是什么。