是否可以将“原子” block 内容插入到 CKEditor 中?
例如我想插入<h1>Test</h1>
就在 <p>A B C</p>
中的“B”之后。目前与CKEDITOR.currentInstance.insertHtml('<h1>Test</h1>')
, block 标签被删除,变成 <p>A BTest C</p>
(将光标置于“B”之后)。我希望将其插入到光标所在的 P block 的末尾,例如 <p>A B C</p><h1>Test</h1>
这是一个工作示例 http://jsfiddle.net/T49Pf/3/ 。当插入符号位于第一段中的任意位置并且我单击“插入”时,我没有 h1
已插入标签。但是当插入符号位于第二段(空)时,我确实有 h1
block 元素。现在,我希望当我在任意位置单击“插入”时,内容会插入到保持原子性的位置(不要丢失 h1
标签)。它类似于“魔线”插件。
最佳答案
我假设您正在使用 editor.insertHtml
方法。此方法的行为旨在与粘贴的代码一起使用,并且您的情况通常意味着复制了单行或其中的一部分,因此应将其作为文本处理 - 而不是作为格式。
就您而言,我建议 editor.insertElement
方法用于不同的目的(例如图像插入),因此它将保留您的元素。
文档示例:
var element = CKEDITOR.dom.element.createFromHtml( '<img src="hello.png" border="0" title="Hello" />' );
CKEDITOR.instances.editor1.insertElement( element );
关于javascript - 将原子内容插入 CKEditor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465352/