【发布时间】:2012-06-15 12:57:21
【问题描述】:
如何在初始化的 tinyMCE 容器中切换 readonly 状态?
虽然 tinyMCE 在通用 javascript 文件中初始化,但我要更改的选项特定于单个页面的逻辑,并根据用户通过复选框的输入进行更改。
这是我尝试过的一些事情,但都以失败告终: http://pastebin.com/JEn2fyE6
【问题讨论】:
标签: javascript jquery tinymce
如何在初始化的 tinyMCE 容器中切换 readonly 状态?
虽然 tinyMCE 在通用 javascript 文件中初始化,但我要更改的选项特定于单个页面的逻辑,并根据用户通过复选框的输入进行更改。
这是我尝试过的一些事情,但都以失败告终: http://pastebin.com/JEn2fyE6
【问题讨论】:
标签: javascript jquery tinymce
我只是设法做到了:
将textarea 设置为 id intro 我这样做
if($('.disabled_check').is(':checked')) {
$('#intro_ifr').contents().find('body').attr('contenteditable', false);
}
【讨论】:
所以你想设置这个选项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 实例,一个是只读的,一个是普通的,只显示所需的一个。
【讨论】:
tinyMCE.activeEditor is null。我加载tinymce库tiny_mce/tiny_mce.js并在公共文件inyMCE.init({ ... });中初始化它@
请检查此代码
setTimeout(function () {
for (var i = 0; i < tinymce.editors.length; i++) {
tinymce.editors[i].getBody().setAttribute('contenteditable', false);
};
},1000);
【讨论】:
undefined tnymce 问题上为我工作!谢谢!
你可以在初始化后设置这个设置
tinymce.get('my_editor_id').settings.readonly = false;
但这不会以您希望的方式影响编辑器的行为,因为相关部分是在初始化时处理的。
这里的工作方法是 JP Hellemons 已经说过的。
【讨论】: