Summernote переносит<p><br></ p> для insertNode()

Я пытаюсь вставить простой img тег в редактор.

jQuery('<img />').attr('src', '/uploads/images/' + res.data.filename);
jQuery('.summernote').summernote('insertNode', $image[0]);

Я ожидаю увидеть

<img src="/uploads/images/image.jpg" />

Что я получаю

<p><br><img src="/uploads/images/image.jpg" /></p>

Я даже добавляю объект изображения в объект абзаца, но потом получаю <p><br></p> до и после узла.

Не видя такого поведения, очевидно написано в исходном файле плагина.

Кто-нибудь применял пользовательские функции, чтобы просто вставить в простой узел?

3 ответа

Внесите изменения в плагин SummerNote. Вы можете изменить "пробел" в summernote.js в строке 873, я думаю,

blankHTML = env.isMSIE && env.browserVersion < 11 ? '&nbsp;' : '<br>';

например

blankHTML = '';

Лучшим вариантом было бы добавить тэг blankHTML также в summernote. (Просто начните переходить к тегу emptyPara в summernote.js. API Summernote хорошо продуман и прост для понимания. Но я не уверен, что вы можете изменить blankHTML перед инициализацией summernote.) Браво за свою работу и всех людей, которые вносят свой вклад в плагины в github.

Понять, почему он добавляет оболочку, когда я вставляю узел в новую строку. Это там, как только я добавляю новую строку, она уже создает оболочку.

Попробуйте использовать функцию "insertImage" вместо "insertNode".
Вот документы: insertImage

Другие вопросы по тегам