gpt4 book ai didi

dom - CKEDITOR - 设置插入符号结束

转载 作者:行者123 更新时间:2023-12-04 05:08:00 27 4
gpt4 key购买 nike

我在 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

或者有更安全的(跨浏览器)解决方案吗?

====编辑====

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

类型错误:b 未定义

这意味着 editor.document 是空的,但是当我查看 editor.document 时,它已被填满?

当我尝试在错误发生后第二次设置范围时,它还会显示以下错误:未捕获的异常: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>

你还有其他情况吗?

关于dom - CKEDITOR - 设置插入符号结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com