CKEditor语言 - 插入文本在 setData 之后不起作用



我尝试在使用setData(")清除内容后插入一些东西,然后使用insertText方法在其中插入一些东西。但内容仍然是空的。

相关代码:

CKEDITOR.instances.content.setData("");
CKEDITOR.instances.content.focus();
CKEDITOR.instances.content.insertText("the text I want to insert");

上面的代码不起作用。有人可以帮助我吗?找到另一种方法来清除 CKEditor 中的内容,而不是使用 setData(") 或使 insertText 方法在 setData 之后工作,都有助于解决我的问题。非常感谢!

我遇到了同样的问题,但重点是setData()方法是异步的。如果你想在setData()之后运行一些东西,你必须创建一个回调方法。

var fooCallback = function(){
    CKEDITOR.instances.content.focus();
    CKEDITOR.instances.content.insertText("the text I want to insert");
};
CKEDITOR.instances.content.setData("", fooCallback);

我遇到了同样的问题并找到了解决方案。"清除"编辑器时,不要使用空字符串,而是使用 CKEDITOR.yourEditor.setData('<span></span>') ,或者(可能)其他一些不显示任何内容的等效"有效 html"。我现在只在跨度上尝试过这个。对 setData 方法的后续调用不会失败。享受。

我也不起作用。一定是一个错误。但是有了jquery,就有了办法。

$('#content').val('the text I want to insert');

对于jquery适配器,请看这里:http://ckeditor.com/blog/CKEditor_for_jQuery

我遇到了同样的问题,但是按照接受的解决方案的建议安装 jquery 适配器对我来说不是一个选择。

我能够在第二次调用时使用以下解决方法使其工作:

setTimeout(function(){
  CKEDITOR.instances["myEditor"].setData(newText);
}, 0);

我从这里得到了这个想法:https://dev.ckeditor.com/ticket/10663#comment:7

最新更新