【问题标题】:Make Specific TinyMCE TextArea ReadOnly or Design使特定的 TinyMCE TextArea 只读或设计
【发布时间】:2021-05-02 14:37:01
【问题描述】:

我有一个包含多个 textarea 字段的 Razor 页面。在我使用 TinyMCE 之前,我使用以下 Javascript 根据复选框的选择启用/禁用特定的textarea

 if ('@Model.IssueData.rootCauseIdentified' == "true") {
      document.getElementById("rootcause").disabled = false;
      document.getElementById("rootcause").style.backgroundColor = "white";
 } else {
      document.getElementById("rootcause").style.backgroundColor = "lightgray";
 }

我现在已将 textarea 转换为使用 TinyMCE。我如何定位这个textarea 来启用/禁用它?我已经创建了 2 个 init 部分,其中 1 个针对除我想要更改的单个 textarea 之外的所有部分。

tinymce.init({
    selector: '.tinymce1',
    menubar: false,
    plugins: [
        'advlist autolink lists link charmap',
        'searchreplace',
        'insertdatetime table paste wordcount'
    ],
    toolbar: 'undo redo | ' +
        'bold italic underline forecolor backcolor | alignleft aligncenter ' +
        'alignright alignjustify | bullist numlist outdent indent |link charmap ' +
        'removeformat'
});
tinymce.init({
    selector: '.toenabledisable',
    menubar: false,
    plugins: [
        'advlist autolink lists link charmap',
        'searchreplace',
        'insertdatetime table paste wordcount'
    ],
    toolbar: 'undo redo | ' +
        'bold italic underline forecolor backcolor | alignleft aligncenter ' +
        'alignright alignjustify | bullist numlist outdent indent |link charmap ' +
        'removeformat'
});

我遇到了以下代码,但不知道如何修改它以仅针对我想要的 textarea(特别是 tinymce.activeEditor.mode.set 部分)。

function toggleEditorMode(mode) {
if (mode) {
  tinymce.activeEditor.mode.set("design");
} else {
  tinymce.activeEditor.mode.set("readonly");
}

编辑:解决方案 根据下面的评论,我能够提出以下适用于我的代码:

if (elementid == "rootcause") {              
    if (element.checked) {
        tinymce.get('rootcause').mode.set("design");
    } else {                   
        tinymce.get('rootcause').mode.set("readonly");
    }
}

【问题讨论】:

    标签: tinymce tinymce-5


    【解决方案1】:

    当你想定位一个特定的编辑器实例时,你可以使用tinymce.get() API 通过底层文本区域的ID来定位一个:

    https://www.tiny.cloud/docs/api/tinymce/root_tinymce/#get

    您还可以使用tinymce.editors 获取所有编辑器的数组。这将为您提供页面上所有实例化编辑器的数组。

    【讨论】:

    • 这是一个使用tinymce.editors 方法的示例:fiddle.tiny.cloud/33haab
    • @MichaelFromin 谢谢。您的评论让我找到了解决方案。
    • @TinyLincoln - 谢谢你的例子。虽然我已经有了选择代码,但我计划将您的示例加入书签以备将来使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多