在叠加层中使用TinyMCE(jQuery Tools-Overlay)

时间:2011-01-09 10:11:46

标签: tinymce overlay

我想在叠加对话框中使用TinyMCE编辑器。这可能吗?

我有最新版本的TinyMCE和Jquery Tools Overlay。

JQuery工具叠加层:http://flowplayer.org/tools/demos/overlay/index.html

1 个答案:

答案 0 :(得分:2)

我遇到了一些问题,显然tinymce不能很好地处理隐藏的元素,当你写下它附加的元素时会感到困惑。无论如何,通过使用overlay的钩子来进行工作,进行同步 js调用(这是关键部分),并在关闭之前分离tinymce。代码:

$(".overlayed").overlay({
  onBeforeLoad: function() {
    var wrap = this.getOverlay().find(".contentWrap");
    var url = this.getTrigger().attr("href");
    $.ajax({
      url: url,
      async: false,
      dataType: "html",
      type: "GET",
      success: function(data){
        wrap.html(data);
      }
    })
  },
  onLoad: function(){
    if($('#overlay .mceEditor').length > 0){
      tinyMCE.execCommand('mceAddControl', false, $('.mceEditor').attr('id'));
    }
  },
  onBeforeClose: function(){
    if($('#overlay .mceEditor').length > 0){
      tinyMCE.execCommand('mceFocus', false, $('.mceEditor').attr('id'));
      tinyMCE.execCommand('mceRemoveControl', false, $('.mceEditor').attr('id'));
    }
    this.getOverlay().find(".contentWrap").html("");
  }
});

代码可能更优雅,但在100%的时间都有效;)
希望这有助于某人!