2013-11-28 48 views
0

我使用TinyMCE的jQuery的版本4之後的空白編輯器,這是我(簡化)場景:TinyMCE的4 - 移動textarea的

<div id="a"> 
    <textarea id="t_a"/> 
</div> 
<div id="b"> 
    <textarea id="t_b"/> 
</div> 

我建立一個編輯出這兩個文本域的

$('textarea').tinymce(_conf); 

具有特定UI控件的用戶可能會切換2個div。基本上我做

$('#b').insertBefore($('#a')); 

什麼情況是,我得到了一個空白的編輯器,如果沒有編輯儘可能的iframe沒有內容可言。 我跑了幾次嘗試,沒有運氣...

我還發現this question突出顯示類似於我的問題(除非我錯了),但它並不是每個人都有幫助。

我目前最新的解決方案是

tinyMCE.execCommand('mceFocus', false, t_b.attr('id'));      
tinyMCE.execCommand('mceRemoveControl', false, t_b.attr('id')); 

$.when(_doSomeAnimation()).done(function() { 
    b.insertBefore(a); 
    tinyMCE.execCommand('mceAddControl', true, t_b.id); 
}); 

任何建議高度讚賞:)謝謝

回答

2

找一下,我越發現,「mceAddControl」和「mceRemoveControl」命令不支持後在第4節中,分別由'mceAddEditor'和'mceRemoveEditor'取代。

+0

這有效,但是當我嘗試實現它時,它添加了控件的默認配置,並沒有選擇我爲頁面上的其他tinyMCE編輯器設置的配置。我如何實現這一目標? –

+0

這真的是tinyMCE4的最終解決方案嗎?沒有更好的方法? – user706420

+0

我實際上找到了另一種更緊湊的解決方案:知道textarea的id,你可以刪除並重新初始化相關的編輯器。 (_doSomeAnimation()).done(function(){.b0 .insertBefore(a); window.tinymce.editors [t_b.prop('id')]上面的代碼片段將如此變爲: ' .remove(); t_b.tinymce(_conf) });'' – ilPittiz