6

如果已经有,我将如何设置 tinymce 自动将编辑器设置为只读textareaattr("readonly")

4

5 回答 5

15

一个更通用的解决方案可能是

tinyMCE.init({
    ...
    setup: function(ed) {
        if($('#'+ed.id).attr('readonly'))
            ed.settings.readonly = true;
    }
});

这将适用于所有文本区域,而无需指定任何 ID。此外,它实际上会将编辑器设置为只读模式,而不仅仅是阻止编辑。

于 2013-08-05T11:04:19.307 回答
4

如果您有以下文本区域

<textarea id="my_textarea_id" readonly="readonly">Some content here.</textarea>

您可以将具有只读属性的知识保存到变量中:

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

现在是tinymce init 函数。我们选择模式none稍后启动编辑器。

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

在这里,您可以使用 textarea 的 id 来初始化您的编辑器实例

tinyMCE.execCommand("mceAddControl", true, "my_textarea_id");

您的编辑器实例将被初始化为只读。

于 2012-09-25T14:00:33.467 回答
2

如果不想将 tinyMCE 应用于只读字段,class="readonly"则使用

tinyMCE.init({
    ...
    editor_deselector: "readonly"
});

具有只读类的文本区域将被忽略

于 2012-09-25T13:48:05.897 回答
0

如果你设置了 tinyMce 的只读模式,你应该使用 tinyMCE API。所以你可以设置只读:

tinyMCE.init({
        ...
        theme : "advanced",
        readonly : 1
});

如果您只想为 textarea 设置值“只读”,请注意 tinyMce 对此字段有自己的包装器,并且本机字段(来自 html) - 设置为隐藏字段,因此为一个设置任何属性都没用

于 2012-09-25T13:44:24.530 回答
0

我有几个很小的 ​​mce,其中一些有 class="nonEditableMCE",有些有 class="editableMCE"。如果是这种情况,您可以有两个 init 并且这是有效的。当 Id 是动态的时,使用类选择器要简单得多。

tinymce.init({
        selector: ".nonEditableMCE",
        height: 200,
        statusbar: false,
       readonly : 1

    });

    tinymce.init({
        selector: ".editableMCE",
        height: 200,
        statusbar: false,
        readonly: 0

    });
于 2016-07-28T11:46:40.220 回答