2015-09-21 2 views
0

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

Мне нужно уничтожить вновь созданный экземпляр, но я не могу. Я нашел в 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 
} 

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

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

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

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

+0

'CKEDITOR.instances.editor =«undefined'' - почему котировки там!? Это 'undefined' на самом деле. И не можете ли вы просто использовать 'editor.destroy()'? – raina77ow

+0

@ raina77ow 'editor.destroy()' генерирует ту же ошибку – lonely

+0

Можете ли вы показать HTML? Существует ограниченный набор элементов, которые можно превратить в экземпляры CKEditor. – raina77ow

ответ

0

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

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

Это то же самое. Все еще генерирует ту же ошибку – lonely

 Смежные вопросы

  • Нет связанных вопросов^_^