使特定的TinyMCE文本区域为只读或设计
我有一个Razor页面,它有多个使特定的TinyMCE文本区域为只读或设计,tinymce,tinymce-5,Tinymce,Tinymce 5,我有一个Razor页面,它有多个textarea字段。在使用TinyMCE之前,我使用以下Javascript根据复选框的选择启用/禁用特定的textarea if ('@Model.IssueData.rootCauseIdentified' == "true") { document.getElementById("rootcause").disabled = false; document.getElementById(&q
textarea
字段。在使用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
部分)
编辑:解决方案
根据下面的评论,我能够想出以下适合我的代码:
if (elementid == "rootcause") {
if (element.checked) {
tinymce.get('rootcause').mode.set("design");
} else {
tinymce.get('rootcause').mode.set("readonly");
}
}
当您想要以特定编辑器实例为目标时,可以使用
tinymce.get()
API通过底层文本区域的ID以一个为目标:
您还可以使用
tinymce.editors
获得所有编辑器的数组。这将为您提供页面上所有实例化编辑器的数组。以下是使用tinymce.editors
方法的示例:@MichaelFromin谢谢。您的评论让我找到了解决方案。@TinyLincoln-谢谢您的示例。虽然我已经有了选择代码,但我计划将您的示例保留为书签,以备将来使用。
if (elementid == "rootcause") {
if (element.checked) {
tinymce.get('rootcause').mode.set("design");
} else {
tinymce.get('rootcause').mode.set("readonly");
}
}