5

我很难成功地将我拖放到我的 Ckeditor 中的 html 元素。到目前为止,我刚刚能够使用“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>');
  • 我试过 insertText 但它从来没有用过。
  • 然后我尝试了 insertHtml 但它仅在 IE 中有效。

你知道如何解决它吗?那将是一个很大的帮助!谢谢。

4

1 回答 1

0

使用 Ckeditor 'paste' (drop) 事件/方法而不是本机。

在你的插件 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>';
});
于 2017-12-02T05:02:51.730 回答