2012-06-15 18 views
4

我如何可以切換在初始化TinyMCE的容器readonly狀態?tinyMCE的選項

雖然TinyMCE的在一個共同的JavaScript文件被初始化,我想改變的選項是針對單個頁面的基礎上通過一個複選框,用戶的輸入邏輯和變化。

這是一些我想和所有導致失敗的事情: http://pastebin.com/JEn2fyE6

回答

4

我好不容易纔做這種方式:

具有textarea組ID爲intro我這樣做

if($('.disabled_check').is(':checked')) { 
    $('#intro_ifr').contents().find('body').attr('contenteditable', false); 
} 
+0

這是唯一的答案。如果你有一個有針對性的ID。 – CyberNinja

3

所以,你要設置這個選項http://www.tinymce.com/wiki.php/Configuration:readonly 初始化後。根據這個線程:http://www.tinymce.com/forum/viewtopic.php?id=15488它不能根據tinymce論壇的人來完成。

這S.O.答案似乎工作:Set TinyMCE Editor Param after Initialized

tinymce.activeEditor.getBody().setAttribute('contenteditable', false); 

如果沒有,這個話題有一種變通方法http://forum.morfik.com/posts/21058創建TinyMCE的一個只讀的,一個正常的兩個實例,只顯示所需的一個。

+0

我不斷收到這錯誤:'tinyMCE.activeEditor爲null'。我載入TinyMCE庫'tiny_mce/tiny_mce.js',並在共同文件'inyMCE.init({...} \t)初始化;' – Alex

0

您可以使用

tinymce.get('my_editor_id').settings.readonly = false;

設置初始化後,此設置但是,這不會影響你的願望,因爲相關部分進行初始化時處理方式的編輯器行爲。

這裏的工作計算策略是什麼JP Hellemons已經提到。

2

請檢查該代碼

setTimeout(function() { for (var i = 0; i < tinymce.editors.length; i++) { tinymce.editors[i].getBody().setAttribute('contenteditable', false); }; },1000);

+1

也許沒有回答這個問題,但在'undefined tnymce'問題上爲我工作!謝謝! – diosney

+0

它不是在tinyMCE的3_5.8版本工作,如果有任何的3.5.8版本的解決方案的話,請分享。 – shivam