我在Dialog插件中使用TinyMCD插件。
一切正常,直到我将对话框的模态参数设置为true。 当我这样做时,TinyMCE textarea仅在第一次打开对话框时才能正常工作,然后变为只读。
以下是我的代码示例:
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/但我还没有找到解决方案。
如果你能帮助我,非常感谢你。
答案 0 :(得分:2)
问题已解决,这是完整的工作代码:
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>