2010-06-06 119 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 2010-06-08 01:39:37

+0

@AlfonsoML感謝你 - 你只是救了我肆虐:) – 2012-02-23 19:27:57

+1

是的,沒錯。如果使用CKEDITOR.remove(),那麼實例不會被銷燬。你需要調用像:instance.destroy()來刪除舊的。 – 2012-09-07 13:07:52