我在 Backbone 视图中有一个 CKEditor 实例,它带有一个插件,可以在点击时将编辑器中的任何文本发布到我的网站。我也想在点击时清除 CKEditor,但使用 setData 不起作用。它会闪烁,好像正在发生某些事情,但随后会重置为已经存在的相同数据。
它在插件内部调用如下:
注意:THIS
是一个引用主干视图的变量
CKEDITOR.plugins.add( 'post', {
init: function( editor ) {
editor.addCommand('post', {
exec: function(editor) {
THIS.model.postMessageAttempt(editor.getData());
THIS.options.data = "";
editor.setData("");
}
});
editor.ui.addButton('Post', {
label: THIS.i18n.postText(),
command: 'post'
});
}
} );
我也尝试过setData("some text")
和THIS.editor.setData("")
(我有一个保存在视图中的编辑器的参考),但两者都有相同的结果。关于出了什么问题的任何想法?
编辑
我也尝试过在这个调用中使用 CKEditor 与 jQuery 的集成,THIS.$el.find('textarea' + this.id).val("");
它不再闪烁,但它仍然没有清除编辑器。