2010-06-06 2 views
19

Я не могу уничтожить экземпляры CKEdit в документации.Удалить экземпляр CKEdit

Рассмотрим следующий пример:

<input name="txt1" type="text" id="txt1" /><br /> 
<a href="javascript:void(0);" onclick="create()">Create</a><br /> 
<a href="javascript:void(0);" onclick="destroy()">Destroy</a> 
<script type= "text/javascript" > 
<!-- 
function create() { 
    var hEd = CKEDITOR.instances['txt1']; 
    if (hEd) { 
     CKEDITOR.remove(hEd); 
    } 
    hEd = CKEDITOR.replace('txt1'); 
} 
function destroy(){ 
    var hEd = CKEDITOR.instances['txt1']; 
    if (hEd) { 
     CKEDITOR.remove(hEd); 
    } 
} 
--> 
</script> 

Когда уничтожить() работает, CKEDITOR.remove (HED); вызывается. Несколько кликов для создания() создают несколько экземпляров CKEditor на экране, но их экземпляры больше не отображаются в CKEDITOR.instances.

Я что-то упустил?

ответ

36

Вы должны использовать hEd.destroy (editor.destroy()).

CKEDITOR.remove() предназначен для внутреннего использования, как указано в API.

+0

Последовало плохой фрагмент. Спасибо, что поставил меня прямо. – Laramie

+0

@AlfonsoML Спасибо за это - вы только что спасли меня бушующим :) –

+1

Да, это так. Если вы используете CKEDITOR.remove(), то экземпляр не будет уничтожен. Вам нужно вызвать sth like: instance.destroy(), чтобы удалить старый. –

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

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