TinyMce with Facebox



我在Facebox模式弹出窗口中的文本框上使用tinymce时遇到了一些问题。我正试着做一些类似以下的事情-

  • 有一个父页面,我在其中加载tinymce.min.js javascript文件,同时也执行tinyMCE.init()
  • 在父页面上有一个按钮,单击该按钮,我会调用一个javascript函数进行ajax调用,并在facebox中显示ajax调用的返回html
  • ajax调用的返回HTML中有一个文本框,我需要它是tinyMEd
  • 我有一个注册的事件处理程序,它绑定到了事件afterReveal.facebox——从文档中看,它是在facebox呈现后调用的(尽管文档不是很清楚)
  • 在上面的事件处理程序中,我有以下代码-

    tinyMCE.excCommand('meAddControl',true,'new outline')

new-outline是需要为tinyMEd的文本区域的id。

我没有收到任何JS错误,文本区域变成了tinymce编辑器。但是,编辑器会跳出面框(右侧),并且只有编辑器的一部分可见。

如果我不把它做成微小的mce,那么文本区域就会在facebox中正确地呈现。

我该如何更正?

由于CSS中的一些样式问题,我遇到了这个问题。如果你想做这样的事情,我所描述的方法是实现这一目标的最佳方法。

最好向我们展示您的tinymce的完整初始化配置。如果编辑器没有显示,并且您使用开发人员控制台没有得到javascript错误,那么很可能您的tinymce配置是错误的。

确保facebox.js 中存在以下行

reveal: function(data, klass) {
      $(document).trigger('beforeReveal.facebox')
      if (klass) $('#facebox .content').addClass(klass)
      $('#facebox .content').empty().append(data)
      $('#facebox .popup').children().fadeIn('normal')
      $('#facebox').css('left', $(window).width() / 2 - ($('#facebox .popup').outerWidth() / 2))
      // Below Line 
      $(document).trigger('reveal.facebox').trigger('afterReveal.facebox'); // This Line
    }

和你的facebox弹出页面,你必须使用以下代码。

$(document).bind('afterReveal.facebox', function() {
    tinyMCE.execCommand('mceAddControl', true, 'content');
    // Here 'content' is editor (textarea) id
});

注意:不需要在弹出的facebox中初始化tinyMCE配置。

相关内容

  • 没有找到相关文章

最新更新