我使用 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.
此错误似乎发生在“ delete ()”上,而不是发生在“ place ()”上。有人经历过这种情况并找到了不同的解决方案吗?
是否有可能重新呈现现有的编辑器,而不是销毁和替换它?