Javascript 如何从TinyMCE中删除MenuItemTitle?

Javascript 如何从TinyMCE中删除MenuItemTitle?,javascript,tinymce,drop-down-menu,Javascript,Tinymce,Drop Down Menu,我已经在tinyMCE中启用了“fontsizeselect”插件。我的问题是如何删除下拉菜单的标题 编辑: 我曾尝试使用JQuery.remove删除它,但之后整个列表的高度计算错误 我尝试的第二个选择是: 但这只是出了问题,fontsizeselect.removetitle与.add类似,会对整个tinyMCE产生错误-缺少:在属性id之后。可能这是一个非常糟糕的方法 第三个选项是编辑tiny\u mce\themes\advanced\editor\u template\u src.js

我已经在tinyMCE中启用了“fontsizeselect”插件。我的问题是如何删除下拉菜单的标题

编辑:

我曾尝试使用JQuery.remove删除它,但之后整个列表的高度计算错误

我尝试的第二个选择是:

但这只是出了问题,fontsizeselect.removetitle与.add类似,会对整个tinyMCE产生错误-缺少:在属性id之后。可能这是一个非常糟糕的方法

第三个选项是编辑tiny\u mce\themes\advanced\editor\u template\u src.js第467行:

c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) {...}
但TinyMCE开发人员认为,似乎每个下拉列表都必须解决标题/标题问题: 在初始化MCE之前,我们必须覆盖菜单渲染功能

(function(tinymce) {
var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, Dispatcher = tinymce.util.Dispatcher, undef;

tinymce.create('tinymce.ui.ListBoxNoTitle:tinymce.ui.ListBox', {
    renderMenu : function() {
        var t = this, m;

        m = t.settings.control_manager.createDropMenu(t.id + '_menu', {
            menu_line : 1,
            'class' : t.classPrefix + 'Menu mceNoIcons',
            max_width : 250,
            max_height : 150
        });

        m.onHideMenu.add(function() {
            t.hideMenu();
            t.focus();
        });

/*          m.add({
            title : t.settings.title,
            'class' : 'mceMenuItemTitle',
            onclick : function() {
                if (t.settings.onselect('') !== false)
                    t.select(''); // Must be runned after
            }
        });
*/
        each(t.items, function(o) {
            // No value then treat it as a title
            if (o.value === undef) {
                m.add({
                    title : o.title,
                    role : "option",
                    'class' : 'mceMenuItemTitle',
                    onclick : function() {
                        if (t.settings.onselect('') !== false)
                            t.select(''); // Must be runned after
                    }
                });
            } else {
                o.id = DOM.uniqueId();
                o.role= "option";
                o.onclick = function() {
                    if (t.settings.onselect(o.value) !== false)
                        t.select(o.value); // Must be runned after
                };

                m.add(o);
            }
        });

        t.onRenderMenu.dispatch(t, m);
        t.menu = m;
        }
    });
})(tinymce);
对于m.add的这个评论,你只需要添加

tinyMCE.init({
        setup : function(ed) {
            ed.onBeforeRenderUI.add(function(ed){
        ed.controlManager.setControlType('listbox', tinymce.ui.ListBoxNoTitle);
            });
        }

});

此设置与tinyMCE的标准初始化一致。因此,无需编辑源文件即可完成此操作。

这有什么不对?我不是一个经验丰富的用户,所以不知道哪里做错了。关于StackOverflow的问题应该是关于解决特定编程问题。如果你的问题没有包含一些代码,那么它可能不适合提问。你还需要表现出你已经为自己解决问题付出了一些努力。解释您尝试过的方法以及这些解决方案不起作用的原因/方式。在用尽所有其他研究途径之后,问一个关于SO的问题应该是最后的手段。关于如何在常见问题解答中写出一个好问题,这里有很多指导原则:这样更好,足以证明我取消否决票是合理的,但仍然不太好。“出事了”这句话对我们没用。出了什么问题?我认为通过合理的努力是不可能的-我窥视了Tiny的来源,似乎暗示每个选择框都有一些标题。祝你好运,所以没有办法这么做?