2

我将 tinymce 设置为仅在初始化时准备就绪,但是如何在运行时使用复选框按钮将其设置为可编辑模式?

html,

<textarea id="my_textarea_id" readonly="readonly">Some content here.</textarea>
<input type="checkbox" class="switch" /> <span>Turn editor on/ off</span>

js,

var readonly = $("textarea#my_textarea_id").attr("readonly") ? 1 : 0;

tinyMCE.init({
        theme : "advanced",
        mode: 'none',
        readonly : readonly,
        ...
});

var object = $('.switch');
object.click(function(){
            if(object.prop('checked') === true){ 
                $("#my_textarea_id").data('readonly','true');
            } else {
                $("#my_textarea_id").data('readonly','false');
            }
});
4

3 回答 3

0

尝试这个

var object = $('.switch');
object.change(function(){
     $('#my_textarea_id').attr('readonly',!this.checked);
})
于 2014-07-24T12:49:24.800 回答
0

如果您使用的是 TinyMCE > 4.3.0 版本,则以下代码应该可以工作:

var object = $('.switch');
object.click(function(){
    if(object.prop('checked') === true){
        tinymce.activeEditor.setMode('readonly')
    } else {
        tinymce.activeEditor.setMode('design')
    }
});

参考:https ://github.com/tinymce/tinymce/issues/2580

于 2017-08-23T23:59:05.317 回答
-1

尝试这个:

var object = $('.switch');
object.change(function(){
            if(object.prop('checked') === true){ 
                $("#my_textarea_id").attr('readonly',true);
            } else {
                $("#my_textarea_id").attr('readonly',false);
            }
});
于 2014-07-24T12:47:55.177 回答