CKEditor - 销毁编辑器实例

时间:2015-09-21 18:29:12

标签: javascript ckeditor instance destroy

我创建了一个包含一些文字的页面,点击某个DIV时会出现一个内联编辑器。

我需要销毁新创建的实例,但我不能。我在CKEditor API the destroy() method找到了,但它对我不起作用。 这是我的代码:

HTML

<div id ="0" contenteditable = "true">
    <h1Text</h1>
</div>

<div id ="1" contenteditable = "true">
    <h2>Other text</h2>
</div>

JS

CKEDITOR.disableAutoInline = false; //turn off automatic editor creation first 
var editor = CKEDITOR.inline(idElem); //editor is the editor instance created
if(CKEDITOR.instances.editor != 'undefined' && editor != null) { 
    CKEDITOR.instances.editor.destroy(); //generates the error
}

错误是:未捕获的TypeError:无法读取属性&#39; destroy&#39;未定义的

事实上,以下打印产生了这些结果:

console.log("editor: " + editor); //prints "editor: [object Object]"
console.log("CKEDITOR.instances.editor: " + CKEDITOR.instances.editor); //prints "CKEDITOR.instances.editor: undefined"

为什么呢?如何才能获得刚刚创建的编辑器实例,以便它可以销毁?

1 个答案:

答案 0 :(得分:0)

那个(CKEDITOR.instances)是一个实例数组,你应该循环它来销毁每个实例:

for (key in CKEDITOR.instances) {
    CKEDITOR.instances[key].destroy(true);
}