我正在使用jquery对话框来呈现表单(通过AJAX获取)。在某些表格上,我正在使用CKEditor来编写文本区域。编辑器在第一次加载时显示正常。
当用户取消对话框时,我将删除内容,以便在以后的请求中重新加载它们。问题是,一旦重新加载对话框,CKEditor就会声称该编辑器已经存在。
uncaught exception: [CKEDITOR.editor] The instance "textarea_name" already exists.
该API包括一种销毁现有编辑器的方法,我见过有人声称这是一种解决方案:
if (CKEDITOR.instances['textarea_name']) {
CKEDITOR.instances['textarea_name'].destroy();
}
CKEDITOR.replace('textarea_name');
这对我不起作用,因为我收到一个新错误:
TypeError: Result of expression 'i.contentWindow' [null] is not an object.
该错误似乎发生在“ destroy()”而不是“ replace()”上。有没有人遇到过这种情况并找到了不同的解决方案?
是否可以“重新渲染”现有编辑器,而不是销毁并替换它?