Как разместить 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>';
});