Я добавил свой выпадающий список на панель инструментов 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, а это значит, что он мне здесь не нужен.
Какой лучший способ добавить HTML в редактор без добавления дополнительного абзаца в TinyMCEтеги и без него изменение содержимого строки HTML.