是否可以将“原子”块内容插入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
标记)。它类似于“魔术线”插件。
答案 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>
标记内...