如何在CKEditor3.x中放置插入符号? 我有2个职位,我想在两个职位上使用insertHTML()。
的伪代码:
editor.setCaret(20); // function does not exists
editor.insertHtml('::');
editor.setCaret(40); // function does not exists
editor.insertHtml('::');
我试过(将插入符号设置为位置:20):
var ranges = [];
var range = new CKEDITOR.dom.range( this.document );
range.startOffset = 20;
range.endOffset = 20;
ranges.push( range );
editor.getSelection().selectRanges( ranges );
这不起作用。请有人帮帮我吗?
答案 0 :(得分:3)
要在编辑器中插入文本或使用html执行某些操作,您无需获得插入位置。
像往常一样对待它。
P.S。如果你可能想在dom操作后恢复光标位置,试试这个
var s = editor.getSelection();
var selected_ranges = s.getRanges(); // save selected range
// do something
s.selectRanges(selected_ranges); // restore it
答案 1 :(得分:1)
如果您使用insertElement而不是insert html(并且插入一个span元素),则以下应该可以使用:
editor.insertElement(element);
var range = new CKEDITOR.dom.range(editor.document);
range.moveToElementEditablePosition(element, true);
editor.getSelection().selectRanges([range]);