2010-06-06 7 views
19

Non riesco a distruggere le istanze di CKEdit per la documentazione.Rimuovi istanza CKEdit

Si consideri il seguente:

<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> 

Quando destroy() viene eseguito, CKEDITOR.remove (Hed); viene chiamato. Più clic per creare() producono più istanze di CKEditor sullo schermo, ma le loro istanze non appaiono più in CKEDITOR.instances.

Mi manca qualcosa?

risposta

36

È necessario utilizzare hEd.destroy (editor.destroy()).

CKEDITOR.remove() è per uso interno come indicato nell'API.

+0

seguito un frammento errato. Grazie per avermi sistemato. – Laramie

+0

@ AlfonsoML Grazie per questo - mi hai appena salvato infuriato :) –

+1

Sì, è vero. Se si utilizza CKEDITOR.remove(), l'istanza non viene distrutta. Devi chiamare sth come: instance.destroy() per rimuovere quello vecchio. –