如何将所有 tinymce 编辑器作为标准,除了选择

How to have all tinymce editors as standard except selected

我正在使用 TinyMCE 作为文本编辑器。 在 header 中我定义了所有 <textarea> 选择器必须是 TinyMCE。 我已将高度设置为默认 300px,但现在我需要添加一个小得多的文本区域。

我已经尝试了下面的代码来尝试让它使用默认设置并且只覆盖选定的文本区域但是它不起作用。不抛出任何错误。只是似乎忽略了代码。

有没有办法做到这一点?

HTML

<textarea class="footer_editor" name="template_footer" id="template_footer" style="width:100%;"><?php echo $template_footer; ?></textarea>

代码

tinymce.init({
                selector:'textarea',
                relative_urls : false,
                remove_script_host : false,
                document_base_url : "<?php  print(get_system_url()); ?>",
                height : "360",
                fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt",
                font_formats: "Andale Mono=andale mono,times;"+
                "Arial=arial,helvetica,sans-serif;"+
                "Arial Black=arial black,avant garde;"+
                "Book Antiqua=book antiqua,palatino;"+
                "Comic Sans MS=comic sans ms,sans-serif;"+
                "Courier New=courier new,courier;"+
                "Georgia=georgia,palatino;"+
                "Helvetica=helvetica;"+
                "Impact=impact,chicago;"+
                "Symbol=symbol;"+
                "Tahoma=tahoma,arial,helvetica,sans-serif;"+
                "Terminal=terminal,monaco;"+
                "Times New Roman=times new roman,times;"+
                "Trebuchet MS=trebuchet ms,geneva;"+
                "Verdana=verdana,geneva;"+
                "Webdings=webdings;"+
                "Wingdings=wingdings,zapf dingbats",
                plugins: "image,advlist, table, autolink, charmap, code, colorpicker, contextmenu,link, lists, paste, preview, searchreplace,  spellchecker, textcolor, wordcount,emoticons"<?php //,lioniteimages"*/?>,
                /*image_list: [ 
                {title: 'My image 1', value: 'http://www.tinymce.com/my1.gif'}, 
                {title: 'My image 2', value: 'http://www.moxiecode.com/my2.gif'} 
            ],*/
                toolbar: "fontselect | fontsizeselect | forecolor | backcolor | bold | italic | underline | alignleft | aligncenter | alignright | alignjustify | bullist | numlist | outdent | indent | link | <?php //lioniteimages |?> image | print | media | code",
                tools: "inserttable",
                contextmenu: "link image inserttable | cell row column deletetable"
         });

tinymce.init({
                    mode : "specific_textareas",
                    editor_selector : "footer_editor",
                    height : "100"                
             });

editor_selector : ".footer_editor"

如果您想使用 class 作为选择器,请不要忘记使用 .在 class 名字

之前

使用初始化对象

var init_obj = {
    selector:'textarea:not(.footer_editor)',
    relative_urls : false,
    remove_script_host : false,
    document_base_url : "<?php  print(get_system_url()); ?>",
    height : "360",
    fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt",
    font_formats: "Andale Mono=andale mono,times;"+
    "Arial=arial,helvetica,sans-serif;"+
    "Arial Black=arial black,avant garde;"+
    "Book Antiqua=book antiqua,palatino;"+
    "Comic Sans MS=comic sans ms,sans-serif;"+
    "Courier New=courier new,courier;"+
    "Georgia=georgia,palatino;"+
    "Helvetica=helvetica;"+
    "Impact=impact,chicago;"+
    "Symbol=symbol;"+
    "Tahoma=tahoma,arial,helvetica,sans-serif;"+
    "Terminal=terminal,monaco;"+
    "Times New Roman=times new roman,times;"+
    "Trebuchet MS=trebuchet ms,geneva;"+
    "Verdana=verdana,geneva;"+
    "Webdings=webdings;"+
    "Wingdings=wingdings,zapf dingbats",
    plugins: "image,advlist, table, autolink, charmap, code, colorpicker, contextmenu,link, lists, paste, preview, searchreplace,  spellchecker, textcolor, wordcount,emoticons"<?php //,lioniteimages"*/?>,
    toolbar: "fontselect | fontsizeselect | forecolor | backcolor | bold | italic | underline | alignleft | aligncenter | alignright | alignjustify | bullist | numlist | outdent | indent | link | <?php //lioniteimages |?> image | print | media | code",
    tools: "inserttable",
    contextmenu: "link image inserttable | cell row column deletetable"
}

tinymce.init(init_obj);

init_obj.selector = 'textarea.footer_editor';
init_obj.height = 300;

tinymce.init(init_obj);

我创建了一个简单的 TinyMCE Fiddle,它显示了两个文本区域标签,用于调用两个具有不同高度的 TinyMCE 实例:

http://fiddle.tinymce.com/gqfaab

你的第一个 init 使用 textarea 的选择器所以我怀疑你已经在你的第二个 init 被调用之前在 footerarea 的 textarea 上初始化了 TinyMCE,因为 textarea 已经为 TinyMCE 设置第二个 init 调用可能什么都不做。如果您将我的 fiddle 中第一个初始化的选择器从 textarea#area1 更改为 textarea,您将看到第二个初始化不再影响其他文本区域。

我的建议是当你想使用不同的初始化时使用目标选择器(例如引用每个文本区域的 ID textarea#area1 或使用 类 将它们组合在一起 textarea.regular)对于同一页面上的不同编辑器。