将原子内容插入CKEditor

时间:2013-08-27 12:24:13

标签: javascript html ckeditor

是否可以将“原子”块内容插入CKEditor?

例如,我想在<h1>Test</h1>中的“B”之后插入<p>A B C</p>。目前使用CKEDITOR.currentInstance.insertHtml('<h1>Test</h1>'),块标记被删除,它变为<p>A BTest C</p>(光标就在“B”之后)。我希望它插入光标所在的P块的末尾,如<p>A B C</p><h1>Test</h1>

这是一个工作示例http://jsfiddle.net/T49Pf/3/。当插入符号在第一段中的任何位置并且我单击“插入”时,我没有插入h1标记。但是当插入符号在第二个(空)段落中时,我确实有h1块元素。现在我想在任何地方单击“插入”时,内容将插入到保持原子的位置(不要丢失h1标记)。它类似于“魔术线”插件。

2 个答案:

答案 0 :(得分:1)

我假设你正在使用editor.insertHtml方法。此方法的行为旨在使用粘贴的代码,您的案例通常意味着复制了单行或部分行,因此应将其作为文本处理 - 而不是作为格式处理。

在您的情况下,我建议使用editor.insertElement方法,该方法用于不同目的(例如图像插入),因此它会保留您的元素。

文档中的示例:

var element = CKEDITOR.dom.element.createFromHtml( '<img src="hello.png" border="0" title="Hello" />' );
CKEDITOR.instances.editor1.insertElement( element );

答案 1 :(得分:0)

标题标记(h1-6)是块级元素,不能嵌套在<p>标记内...