CKEDITOR 4-在引导程序模式中销毁ckeditor实例并重新创建

时间:2019-03-13 00:21:53

标签: jquery twitter-bootstrap-3 ckeditor

我有一个包含章节列表的页面,用户可以单击任何章节/文件名来打开bootstrap modal来设置在线章节名称和描述。

以下是单击事件,用于打开模式并初始化ckeditor,我在click事件中初始化ckeditor,因为ckeditor需要处于引导程序模式。

$('.file-name').click(function () {

 CKEDITOR.replace('inputOnlineChapterDescription');

 $('#chapterNameDescription').modal();
});

对于章节描述,我需要使用一些好的编辑器替换简单的textarea,因此我使用的是 CKEDITOR 。问题在于,如果用户单击任何章节名称,则会出现模式,然后用户不进行任何更新并关闭模式,然后再次打开相同的章节模式或在异常之后引发的其他任何模式

uncaught exception: The editor instance "inputOnlineChapterDescription" is already attached to the provided element.

为消除此异常,我尝试了以下解决方案在创建新实例之前检查并销毁任何实例。

$('.file-name').click(function () {
 var editor = CKEDITOR.instances['inputOnlineChapterDescription'];
 if (editor) { 
  editor.destroy(true);
 }

 CKEDITOR.replace('inputOnlineChapterDescription');

 $('#chapterNameDescription').modal();
});

但是与此同时,我得到了TypeError: a is null.的信息,我试图解决此问题,但找不到任何有用的解决方案。因此,基本上,我需要在不刷新页面的情况下在同一页面上使用多个实例的任何方法。任何帮助,将不胜感激。谢谢!

0 个答案:

没有答案