首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何正确销毁CKEditor实例?

如何正确销毁CKEditor实例?
EN

Stack Overflow用户
提问于 2010-09-01 05:02:52
回答 6查看 57.7K关注 0票数 27

我在一个非常简单的页面上运行CKeditor 3.4。我遇到了一个问题(有时),当我调用document.main_form.submit()时,它不会发送文本区域的内容。经过一些阅读后,听起来CKeditor似乎没有正确地销毁。我试图在保存表单之前手动销毁它,但无法调用它。奇怪的是,它有时是有效的,但在其他情况下就不行了。我用的是Chrome,所以这可能会搞砸一些东西,但同样的事情也会发生在Firefox上。

如何正确地销毁CKeditor,使其始终在POST中发送文本区数据。谢谢!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-01 05:20:00

我遇到了这个问题。太痛苦了。

要正确销毁编辑器实例,请尝试

代码语言:javascript
复制
if (CKEDITOR.instances.myInstanceName) CKEDITOR.instances.myInstanceName.destroy();

从documentation here

我在回发之前将编辑器的内容分配给一个隐藏字段,从而解决了缺少内容的问题。我使用的是ASP.Net,但它应该是通用的。

在提交按钮的客户端单击处理程序中,调用

代码语言:javascript
复制
if (CKEDITOR.instances.myInstanceName)
    document.getElementById('hiddenField').value = CKEDITOR.instances.getData();
票数 43
EN

Stack Overflow用户

发布于 2014-12-06 15:38:35

我曾经使用angularjs ui-router,每个子视图都有一个CKEDITOR实例。我使用以下解决方案在每次加载ui-view时清除实例

代码语言:javascript
复制
for(name in CKEDITOR.instances)
{
    CKEDITOR.instances[name].destroy()
}
票数 16
EN

Stack Overflow用户

发布于 2013-03-06 21:12:10

在我的情况下

代码语言:javascript
复制
CKEDITOR.instances.myInstanceName.destroy();

没有帮助,因为我在jquery dialog中双击一些项目就打开了CKEditor。当我关闭编辑器然后再次打开它们时,我的代码崩溃了。

解决方案正在使用

代码语言:javascript
复制
CKEDITOR.instances.myInstanceName.destroy(false);

更新了DOM元素(link to documentation)。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3613215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档