Используйте TinyMCE в оверлее (jQuery Tools-Overlay) - PullRequest
1 голос
/ 09 января 2011

Я хочу использовать редактор TinyMCE в диалоговом окне наложения .. Возможно ли это?

У меня установлена ​​последняя версия TinyMCE и Jquery Tools Overlay.

JQuery Tools Overlay: http://flowplayer.org/tools/demos/overlay/index.html

1 Ответ

2 голосов
/ 03 августа 2011

Я столкнулся с несколькими проблемами с этим, очевидно, что tinymce не очень хорошо играет со скрытыми элементами и запутывается, когда вы пишете над элементами, к которым он прикреплен.В любом случае, заставить его работать, используя перехваты оверлея, сделать синхронный вызов 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% времени;)
Надеюсь, это кому-нибудь поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...