javascript - 将原子内容插入 CKEditor

标签 javascript html ckeditor

是否可以将“原子” 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/

相关文章:

javascript - 滚动错误仅出现在 iPad 上

javascript - 在 Javascript 中用 this 理解内部函数

html - 向左浮动,最大宽度和流量控制

javascript - 如何展开和折叠(即切换)表格行 (tr)?

ajax - CKEditor - 将 ckeditor 添加到 ajax 创建的文本区域

javascript - CKEditor:更改选择而不丢失它

javascript - 滚动到时更改元素的背景颜色

javascript - Angular2 中表单控件的非字符串值

javascript - 将 div 的宽度设置为与其最近的兄弟相同

javascript - Ckeditor 删除空标签