如何在tinyMCE中自定义单个textarea

时间:2014-04-10 08:28:39

标签: javascript jquery html css tinymce

This回答解释了如何删除tinyMCE所有表单字段的菜单栏和状态栏:

tinymce.init({
    selector: "textarea",
    menubar:false,
    statusbar: false,
    ..
});

我的问题是:如何为单个文本区域执行此操作?即我想要一些状态栏和其他人不要..

3 个答案:

答案 0 :(得分:5)

您需要为textarea元素指定一个ID,然后在每个配置中使用它:

tinymce.init({
    selector: "textarea#editor1",
    menubar:false,
    statusbar: false,
    ...
});

<textarea id="editor1"></textarea>

tinymce.init({
    selector: "textarea#editor2",
    // standard toolbar for editor 2
    ...
});

<textarea id="editor2"></textarea>

// and so on...

通过这种方式,您可以告诉tinyMCE配置生效的textarea。看看advanced example on the tinyMCE site

selector: "textarea#elm1",
Select only the textarea with ID elm1

<强>更新

是的,有可能。您需要为所有编辑器设置唯一ID,但可以一次选择多个ID:

    <script type="text/javascript">
        tinymce.init({
            selector: "textarea#common1,textarea#common2",
            theme: "modern",
            height: 100,
            menubar:false,
            statusbar: false
        });

        tinymce.init({
            selector: "textarea#comment_toolbox",
            theme: "modern",
            height: 100,
            toolbar: false
        });                     
    </script>
</head>
<body>
    <div width="100%" height="100%">
        <textarea id="common1"></textarea>
        <br/>
        <textarea id="comment_toolbox"></textarea>
        <br/>
        <textarea id="common2"></textarea>
        <br/>           
    </div>
</body>

该网站看起来像预期的那样:

enter image description here

答案 1 :(得分:1)

这是基于上面的pasty's answer,它尽可能保持DRY

this.setupRichTextEditorSettings = function() {
    var regularElements = ['eobjs','emats','eprocs','eclos','ehoms'];
    var specialElements = ['comment_box'];

    var convertToSelectors = function(elements) {
        return $.map(elements, function(element) {
            return "textarea#"+element;
        });
    };
    var regularElementSelectors = convertToSelectors(regularElements);
    var specialElementSelectors = convertToSelectors(specialElements);

    tinymce.init({
        selector: regularElementSelectors.join(','),
        menubar: false,
        statusbar: false
    })

    tinymce.init({
        selector: specialElementSelectors.join(','),
        menubar: false,
        statusbar: false,
        toolbar: false
    })

};

答案 2 :(得分:0)

使用这样的选择器:

$('textarea#mytext').tinymce({
 menubar:false,
 statusbar: false,
 ..
});