2012-03-22 64 views
2

我在Facebox模式彈出窗口中的文本框上使用tinymce時遇到了一些問題。我試圖去像以下各項帶有Facebox的TinyMce

  • 沒有在我加載tinymce.min.js javascript文件,也做tinyMCE.init()父頁面。
  • 有父頁面上的按鈕,按鈕上的點擊,我有被調用javascript函數使Ajax調用並顯示在facebox Ajax調用返回的HTML。
  • 在ajax調用返回的HTML中有一個文本框,我需要這個文本框是tinyMCEd。
  • 我已經綁定到該事件afterReveal.facebox註冊的事件處理程序 - 從文件看起來像facebox已經呈現後調用(雖然文檔不是很清楚)
  • 在上面的事件處理程序我有以下的代碼 -

    tinyMCE.execCommand( 'mceAddControl',真的, '新綱要')

new-outline是需要被tinyMCEd textarea的ID。

我沒有得到任何JS錯誤和textarea的轉向是TinyMCE的編輯器。然而,編輯器跳出了facebox(在右邊),只有一部分編輯器可見。

如果我不讓它微小的MCE,然後textarea的正確的facebox內呈現。

我該如何解決這個問題?

+0

最好將是我們展示您的完整的初始化配置您的TinyMCE的 – Thariama 2012-03-23 08:32:10

+1

+1很好的問題 – Thariama 2012-03-23 09:22:44

回答

2

由於CSS中的一些樣式問題,我正面臨這個問題。我所描述的方法是實現這個目標的最好方法,如果你想做這樣的事情。

0

最佳將是我們展示您的完整的初始化配置您的TinyMCE的。 如果編輯器沒有顯示出來,並且使用開發人員控制檯沒有發現javascript錯誤,則很可能是您的tinymce配置錯誤。

+0

謝謝。碰巧,我修正了CSS中的樣式問題。我嘗試的方法沒有問題。這是做到這一點的最佳方式。 – Siddharth 2012-03-23 08:52:42

+0

你的接近確實看起來不錯 – Thariama 2012-03-23 09:10:45

0

確保下面一行出現在你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 
}); 

注:不需要初始化tinyMCE配置在facebox彈出。