无法在joomla的jQueryUI对话框中输入TinyMCE编辑器

我正在使用函数中的joomla在jQuery对话框的页面上创建一个tinyMCE编辑器。 但是,出现对话框并且tinyMCE编辑器就像它处于只读模式。

这是在回声编辑器中建立的php函数:

<div id="PhoneCallCard" title="Phone Call Card" style="display:none;">      
    <?php
      $editor = JFactory::getEditor();                                                                                          
      echo $editor->display('commentz', $this->content, '600', '100', '60', '20', false);      
    ?>
</div>

这是我打开该对话框的jQuery实现:

jQuery("#PhoneCallCard").dialog({
            height:500,
            width:800,
            modal: true,
            close: function(ev, ui){                                                
              jQuery('#tablepanelfightclubrequests .trSelected').removeClass('trSelected');                         
              },
            open:function({ //Everything I tried to activate the tinyMCE
           //tinyMCE.activeEditor.getBody().setAttribute('contenteditable', false);
           //tinyMCE.execCommand('mceRemoveControl',false,'commentz');
           //tinyMCE.execCommand('mceAddControl',false,'commentz');
           //tinyMCE.execCommand('mceFocus', false, 'commentz');
            }});

我也在这里发现类似的问题为什么我不能在我的jQueryUI模式对话框中输入TinyMCE? 在这里TinyMCE和JQuery对话框:TinyMCE只读模式:在对话框中为true,但都不能解决我的问题


我得到了类似的错误......我的第一个代码

$( "#f_edit_gallery" ).dialog({
autoOpen: false,
resizable: true,
show: "clip",
height:450,
width:850,
modal: true
});

我删除选项后

show: "clip",

像这样

$( "#f_edit_gallery" ).dialog({
    autoOpen: false,
    resizable: true,
    height:450,
    width:850,
    modal: true
    });

之后tinyMCE运行良好


当页面加载时,我得到同样的问题并通过加载对话框修复。 例如:

jQuery(function() {
jQuery( "#dialog_desc" ).dialog({
    modal: true,
    width: 600,
    height:500,
    autoOpen: false,
});
}

当你想打开对话框时:

    jQuery( "#dialog_desc" ).dialog( "open" );

希望这个帮助!


加载对话框后应该加载编辑器。 你可以做的是:

  • 按照现在使用$ editor-> display方法加载编辑器
  • 在打开jQuery UI对话框之前,请分离编辑器
  • 再次显示UI对话框和加载编辑器,延迟时间很短,以便编辑器在对话框后加载。
  • 这里是一个示例代码

    触发对话框打开后使用此代码

    if ((tinyMCE != undefined) && (tinyMCE.activeEditor != undefined)){
      tinyMCE.activeEditor.remove();
      setTimeout(function(){
        tinyMCE.execCommand('mceAddControl', false, 'commentz');
      },500);
    }
    
    链接地址: http://www.djcxy.com/p/61475.html

    上一篇: Can't type in TinyMCE editor within a jQueryUI dialog box in joomla

    下一篇: tinyMCE and jQuery dialog box issue