Как разместить HTML-элемент в позиции курсора в Ckeditor?

У меня есть такие трудности, чтобы преуспеть в размещении HTML-элемента, который я перетаскиваю в моем Ckeditor. До сих пор я только что смог разместить его в самом конце своего контента с помощью "setData". Но я хочу поместить его в положение, в котором я нахожусь в моем курсоре.

Я имею в виду, вместо того, чтобы делать это:

<p>My content with <span>spans</span>, <a>links</a>, etc.</p><span>The html I am drag/droping</span>

Я хочу сделать это:

<p>My content with <span>spans</span>, <span>The html I am drag/droping</span>, <a>links</a>, etc.</p>

Прямо сейчас мой код выглядит так:

CKEDITOR.instances['myContent'].insertHtml(' <span>The html I am drag/droping</span>');

Я пробовал вставить текст, но он никогда не работал. Затем я попробовал insertHtml, но он работал только в IE o_O.

У вас есть идеи, как это исправить? Это было бы отличной помощью! Благодарю.

1 ответ

Используйте Ckeditor "вставить" (отбросить) события / методы вместо нативных.

Внутри вашего плагина editor.on('instanceReady'... Предполагается, что CKEditor 4.x

Вставка и удаление обрабатываются одним и тем же событием, "вставить". Ckeditor размещает содержимое dataValue в позиции курсора в редакторе.

editor.on('paste', function(e){
    // get data from e.data.dataTransfer or wherever ...
    e.data.dataValue = ' <span>The html I am drag/droping</span>';
});
Другие вопросы по тегам