2010-06-06 21 views
19

Tôi dường như không thể hủy các phiên bản của CKEdit theo tài liệu.Xóa Bản mẫu CKEdit

xem xét như sau:

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

Khi tiêu diệt() chạy, CKEDITOR.remove (HED); đang được gọi. Nhiều lần nhấp để tạo() tạo ra nhiều phiên bản của CKEditor trên màn hình, nhưng các trường hợp của chúng không còn xuất hiện trong CKEDITOR.instances nữa.

Tôi có thiếu gì đó không?

Trả lời

36

Bạn phải sử dụng hEd.destroy (editor.destroy()).

CKEDITOR.remove() để sử dụng nội bộ như được nêu trong API.

+0

Đã theo dõi một đoạn trích không hợp lệ. Cảm ơn cho tôi đặt thẳng. – Laramie

+0

@AlfonsoML Cảm ơn vì điều này - bạn vừa mới cứu tôi hoành hành :) –

+1

Vâng, đúng vậy. Nếu bạn sử dụng CKEDITOR.remove() thì cá thể không bị phá hủy. Bạn cần phải gọi sth như: instance.destroy() để loại bỏ cũ. –