我尝试在使用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