带有 jQ​​uery UI 对话框、拼写检查和按钮在第二次单击时不起作用的 CKEditor

Posted

技术标签:

【中文标题】带有 jQ​​uery UI 对话框、拼写检查和按钮在第二次单击时不起作用的 CKEditor【英文标题】:CKEditor with jQuery UI Dialog, spell check and buttons not working on second click 【发布时间】:2018-05-18 08:43:13 【问题描述】:

我正在使用CKEditor 4 将<textarea> 转换为jQuery UI Dialog 内的所见即所得编辑器。

我假设有 3 个问题是相关的:

SCAYT 功能不工作。您可以单击拼写检查下拉菜单,然后单击“启用 SCAYT”,但它没有任何作用。 如果您单击“启用 SCAYT”选项两次,您将收到 JS 错误,指出 SCAYT 的版本比应用程序版本新并且 SCAYT 未定义:

如果您关闭对话框并尝试重新打开它,JS 错误会重复出现,并且大多数其他按钮将停止工作:

任何帮助都会很棒。这是我正在使用的代码:

function OpenDialog(modalID, w, h) 
    $("#" + modalID).css("display", "block");

    $("#" + modalID).dialog(
        draggable: false,
        height: h,
        width: w,
        resizable: false,
        modal: true,
        appendTo: "form",
        buttons: [
            
                text: 'Save',
                class: "saveicon",
                click: function () 
                    //Save Stuff
                
            
        ]
    ).bind('dialogclose', function (event, ui) 
        //toggles the editor controls
        editor = CKEDITOR.instances['<%=txtEditor.ClientID %>'];
        if (editor) 
            editor.updateElement();
            editor.destroy();
        
    );
    $(".saveicon").prepend('<span class="glyphicon glyphicon-floppy-disk"></span> ');

【问题讨论】:

【参考方案1】:

我的问题是多个问题的组合,全部归我所有:

按钮变灰是由于缓存问题。我清除了缓存,问题已解决。

SCAYT 问题是因为我公司的防火墙阻止了对 SCAYT Web 服务的调用。

【讨论】:

以上是关于带有 jQ​​uery UI 对话框、拼写检查和按钮在第二次单击时不起作用的 CKEditor的主要内容,如果未能解决你的问题,请参考以下文章

带有 jQ​​uery UI 可排序的 Knockoutjs

带有 jQ​​uery UI 1.8.2 的可排序 + 嵌套列表

带有 jQ​​uery 验证插件的新 reCaptcha

带有 jQ​​uery 验证插件的引导程序

带有 jQ​​uery 悬停淡入淡出效果的表格

带有 jQ​​uery 的 Django 模板“包含”标签