php - 如何在 TinyMCE 上使用 FontAwesome 图标?

标签 php jquery css tinymce tinymce-4

我知道一种改变字体大小的方法。

<script type="text/javascript" src="/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
    tinymce.init({
        selector : 'textarea',
        toolbar  : 'fontsizeselect',
    });
</script>

<textarea name="aaa"></textarea>

生成文本菜单

<span class="mce-txt">Font Sizes</span>

enter image description here

可是我不喜欢。我想将此文本更改为这样的图标。

enter image description here

我在tinymce中搜索了所有图标,但没有font-icon。

enter image description here

所以我认为这个解决方案是使用 FontAwesome。

<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<style type="text/css">
    span.mce-txt:before {
        content: "\f301";
        font-family: FontAwesome;
    }
</style>

但这不是表演。只显示“。”仅。

如何使用 FontAwesome 图标?

最佳答案

控制您在该工具栏按钮上看到的内容的代码位于 tinymce/classes/ui/FormatControls.js

在第 507 行的 TinyMCE 4.4.3 中,您会发现:

editor.addButton('fontsizeselect', function() {
        var items = [], defaultFontsizeFormats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
        var fontsize_formats = editor.settings.fontsize_formats || defaultFontsizeFormats;

        each(fontsize_formats.split(' '), function(item) {
            var text = item, value = item;
            // Allow text=value font sizes.
            var values = item.split('=');
            if (values.length > 1) {
                text = values[0];
                value = values[1];
            }
            items.push({text: text, value: value});
        });

        return {
            type: 'listbox',
            text: 'Font Sizes',
            tooltip: 'Font Sizes',
            values: items,
            fixedWidth: true,
            onPostRender: createListBoxChangeHandler(items, 'fontsize'),
            onclick: function(e) {
                if (e.control.settings.value) {
                    editor.execCommand('FontSize', false, e.control.settings.value);
                }
            }
        };
    });

您可以提供 imageicon 属性来代替 text 属性,这样您就可以为工具栏按钮。

我会注意到,使用 CSS 更改 TinyMCE 的 UI 现在可能会起作用,但随着 TinyMCE 的发展,无法保证 CSS 会保持不变,因此您的 CSS 技巧将来很容易失效。随着时间的推移,使用 TinyMCE API 显示图像不会遇到类似问题。

关于php - 如何在 TinyMCE 上使用 FontAwesome 图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39527382/

相关文章:

php - 无法在 PHP 中访问公共(public)变量

php - 如果 GET 或 POST 为空,则重定向

javascript - onclick 在下面的 div 中显示颜色

jquery - 使用 jQuery slideToggle 扩展 Div

php - PHPMyadmin 中的数据库客户端版本

php - 不同语言 URL 的 Preg_match

javascript - 在无限循环风格的展示中预加载相邻条目

javascript - 将 CSS 类应用于所有行但不应用于表标题

html - 影响子元素的不透明度 css

css - 全日历样式重置