CKEDITOR -设置插入符号结束



我在CKEDITOR中定位了很多。但我仍然不明白为什么下面的代码有时不工作?

    var range = new CKEDITOR.dom.range(editor.document);
    range.moveToElementEditablePosition(element, setToEnd);
    editor.getSelection().selectRanges([range]);

我认为它与我给出的元素输入有关。但我不确定。

有人知道moveToElementEditbalePosition的工作要求是什么吗?我最后一次检查输入是一个SPAN元素。

http://docs.ckeditor.com/# !/api/CKEDITOR.dom.range-method-moveToElementEditablePosition

还是有更安全的(跨浏览器)解决方案?

==== edit ====

我发现了一个错误,它来自新的CKEDITOR.dom.range

TypeError: b is undefined

这意味着编辑器。文档是空的,但是当我在编辑器中查看。文件填好了吗?

当我试图在错误后第二次设置范围时,它还显示以下错误:未捕获异常:DOMException: INVALID_STATE_ERR

试试这个HTML:

<p><span id="test">Text</span></p>

这个JS:

var e = CKEDITOR.instances.editor1;
var span = e.document.getById( 'test' );
var range = e.createRange();
range.moveToElementEditablePosition( span, 1 );
range.select();
e.insertText( 'FOO' );
range.moveToElementEditablePosition( span );
range.select();
e.insertText( 'BAR' );

结果似乎是正确的:

<p><span>BARTextFOO</span></p>

你们还有其他病例吗?

最新更新