我在应用程序中使用CK Rich Text Editor。我有一个模式弹出窗口,其中有三个选项卡-这些选项卡中的每个选项卡都呈现相同的局部 View ,在该 View 中我有一个字段调用Description,这是我在CK Editor上使用的功能。当我使用IE 11时,一切都按预期工作,并且Textarea的选项卡加载变成了CK编辑器框,并且每次文本区域保持为Rich Text Editor时都在选项卡之间导航。但是,当我第一次打开模式框时,我在Chrome中看到一个奇怪的行为,说明每个选项卡上的描述文本区域都按预期方式变成了ck编辑器,并且当我在它们之间进行制表时,每个选项卡都正确地是一个文本区域。但是,在Chrome中,如果我关闭模式框并重新输入密码,会在控制台中收到上述错误吗?如果我打开模式框并在选项卡之间浏览6次,则会出现相同的错误,然后失去被称为CK富文本编辑器的文本区域的功能。有没有人有类似的东西或有可能的解决方案。

我的js文件中的代码如下:

$(document).ready(function () {

    var editor = CKEDITOR.instances['Description'];
    if (editor) { editor.destroy(true); }
    CKEDITOR.replaceAll();

});

在3个标签中呈现的部分 View 中的cshtml标记如下:
 <div class="row">
                @Html.LabelFor(model => model.Description)
                <div class="col-md-10">
                    @Html.TextAreaFor(model => model.Description)
                </div>
            </div>

最佳答案

使用以下代码销毁CK编辑器:

 try {
     CKEDITOR.instances['textareaid'].destroy(true);
 } catch (e) { }
 CKEDITOR.replace('textareaid');

关于javascript - CK编辑器-未捕获的TypeError : Cannot read property 'clearCustomData' of null in Chrome,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25034150/

10-12 15:18