TinyMCE 和 JQuery 对话框:TinyMCE 仅当对话框中的 modal:true 时才读取

2024-04-26

我在Dialog插件中使用TinyMCD插件。

一切正常,直到我将对话框的模态参数设置为 true。 当我这样做时,TinyMCE 文本区域仅在第一次打开对话框时正常工作,然后变为只读。

这是我的代码示例:

tinyMCE.init({ mode: 'none' });
        var dlgComments = $('#dlgInternalComments');
        if (dlgComments.length == 0)
        {
            dlgComments = $('<div/>').attr('id', 'dlgInternalComments'),
                txtAreaComments = $('<textarea/>').attr('id', 'txtInternalComments').appendTo(dlgComments);

            dlgComments.dialog({
                height: 300,
                width: 800,
                modal:true,
                open: function ()
                {
                    if ($('#txtInternalComments_parent', $(this)).length == 0)
                    {
                        var ddd = {mode:'none'}; //$.extend({}, Globals.RichTextBox, { mode: 'none' });
                        txtAreaComments.tinymce(ddd);
                    }
                },
                buttons: {
                    'Parse': function ()
                    {
                        processAuthorsParagraph();
                        $(this).dialog('close');
                    }
                }
            });
        }
        else
        {
            dlgComments.dialog('open');
        }

我不知道如何解决这个问题。我尝试了这里的一些建议:http://www.codestumps.com/2011/05/adding-tinymce-into-a-jquery-ui-dialog/ http://www.codestumps.com/2011/05/adding-tinymce-into-a-jquery-ui-dialog/但我还没有找到解决方案。

如果您能帮助我,非常感谢。


问题已解决,完整的工作代码如下:

function removeTinyMCE () {
    tinyMCE.execCommand('mceFocus', false, 'dialog-modal');
    tinyMCE.execCommand('mceRemoveControl', false, 'dialog-modal');
}

function addTinyMCE() {
    jQuery('#dialog-modal').tinymce({
        script_url: '/js/tiny_mce_3.2.7_jquery/jscripts/tiny_mce/tiny_mce.js',
        width: "800px",
        mode: "textarea",
        theme : "simple",
    });
}

function addAuto()
{
    $('#dialog-modal').dialog({
        autoOpen: true,
        modal: true,
        title: "Email Dialog",
        open: addTinyMCE,
        close: function() {
            removeTinyMCE();
            $(this).dialog('destroy');
        },
        buttons:  {
            'Cancel': function() {
                processAuthorsParagraph();
                removeTinyMCE();
                $(this).dialog('destroy');   
            }
        }
    });
}

对话框的 html 是:

<div style="display: none"; id="dialog-modal" title="Basic modal dialog" style="display: none" ></div> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TinyMCE 和 JQuery 对话框:TinyMCE 仅当对话框中的 modal:true 时才读取 的相关文章

随机推荐