CKEditor - уничтожить экземпляр редактора

Я создал страницу с текстом, нажав на определенную DIV появляется встроенный редактор.

Мне нужно уничтожить только что созданный экземпляр, но я не могу. Я нашел в CKEditor API destroy() метод, но он не работает для меня. Это мой код:

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
}

Ошибка: Uncaught TypeError: Невозможно прочитать свойство 'destroy' из неопределенного

Фактически следующие отпечатки дают эти результаты:

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

Зачем? Как я могу получить экземпляр редактора, только что созданный, чтобы потом его можно было уничтожить?

1 ответ

Тот (CKEDITOR.instances) это массив экземпляров, которые вы должны зациклить, чтобы уничтожить каждый из них:

for (key in CKEDITOR.instances) {
    CKEDITOR.instances[key].destroy(true);
}
Другие вопросы по тегам