TinyMce设置编辑器按钮的文本颜色

时间:2015-07-29 09:26:19

标签: javascript css tinymce

我有许多自定义按钮,我想将每个按钮的文本设置为不同。但是'style'选项设置div上的样式而不是按钮,所以它不起作用。

这是我生成按钮的代码

// Add a button for rank
editor.addButton('rank', {
    text: 'Rank',
    tooltip: 'Highlight Rank',
    icon: false,
    style:'color:red;',
    onPostRender: function () {
        var button = this;
        editor.on('NodeChange', function (e) {
            if (editor.formatter.match('rank')) {
                button.active(true);
            } else {
                button.active(false);
            }
        });
    },

这是输出的html

<div id="mceu_0" class="mce-widget mce-btn mce-btn-small mce-first mce-last" tabindex="-1" aria-labelledby="mceu_0" style="color: red;" role="button" aria-label="Highlight Rank" aria-pressed="false">

<button role="presentation" type="button" tabindex="-1" >Rank</button></div>

有人能指出我使用正确的选项将样式应用于按钮吗?我需要以不同的方式设置每个按钮的样式。

1 个答案:

答案 0 :(得分:1)

您可以在按钮上创建一个带有descendantchild选择器的CSS类,并将其应用于classes的{​​{3}}:

tinymce.init({
    selector: "textarea",
    toolbar: "rank",
    setup: function (editor) {
        editor.addButton('rank', {
            text: 'Rank',
            tooltip: 'Highlight Rank',
            icon: false,
            classes: 'rank-button'
        });
    }
});
.mce-rank-button button {
  color: red !important;
}
<script src="http://tinymce.cachefly.net/4.2/tinymce.min.js"></script>
<form method="post" action="somepage">
    <textarea name="content" style="width:100%"></textarea>
</form>