2014-11-04 34 views
2

前注:無論我在頁面上是否已經有textarea,都會發生此問題。mceAddEditor真的很高時tinyMCE 4實例

我有一個按鈕,首先觸發一個ajax請求...寫一些東西到數據庫並返回鍵。我在ID中使用該鍵作爲textarea,然後將其動態添加到頁面中。請記住,tinyMCE已經初始化。

tinymce.init({ 
     selector: ".editor", 
     setup: function(ed) { 
      ed.on('change', function(e) { 
       tinymce.triggerSave(); 
       $('form').trigger('checkform.areYouSure'); 
      }); 
      ed.on('init', function(e) { 
       autoresize_max_height: 500 
      }); 
     }, 
     plugins: [ 
      "advlist autolink link responsivefilemanager lists charmap print preview hr anchor pagebreak spellchecker", 
      "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", 
      "save table contextmenu directionality template paste textcolor colorpicker responsivefilemanager autoresize" 
     ], 
     toolbar: "undo redo | styleselect | bold italic | forecolor backcolor | alignleft aligncenter alignright | bullist numlist | outdent indent | table | link responsivefilemanager", 
     image_advtab: true , 

     external_filemanager_path:"/filemanager/", 
     filemanager_title:"Filemanager" , 
     external_plugins: { "filemanager" : "/filemanager/plugin.min.js"}, 
    }); 

textarea的是動態創建之後,我加入一些默認的 'Lorem存有' 文本,並呼籲mceAddEditor

tinymce.execCommand('mceAddEditor', false, "custom-html_" + data.c2akey); 

data.c2akey從AJAX調用返回的關鍵。

tinymce實例已成功創建。

這裏的問題:

1)的實例是超高層。除非我在textarea的父容器上設置一個靜態高度,否則編輯器非常高。高於500px(從autoresize_max_height)。在父容器上設置靜態高度的問題是autoresize不能工作。另外我沒有看到在這個新的編輯器textarea文本。

2)我無法輸入這個新創建的實例。見Can't type in tinyMCE 4 instance after mceAddEditor

所以我需要幫助搞清楚爲什麼實例超級創建。

+0

如果我選擇不添加默認的文字時,我動態地創建我的文本區域,那麼編輯器是一個很好的高度。可能是我的文本被添加的問題。 – swg1cor14 2014-11-04 14:41:03

回答

1

你的第一個問題(實例是超高層),我已經解決如下:

tinymce.init({ 
    ... 
    init_instance_callback : function(editor) { 
     $(editor.iframeElement) 
       .contents() 
       .find('body') 
       .css('min-height', editor.targetElm.rows * 9); 
    } 
});