Javascript 如何从TinyMCE中删除MenuItemTitle?
我已经在tinyMCE中启用了“fontsizeselect”插件。我的问题是如何删除下拉菜单的标题 编辑: 我曾尝试使用JQuery.remove删除它,但之后整个列表的高度计算错误 我尝试的第二个选择是: 但这只是出了问题,fontsizeselect.removetitle与.add类似,会对整个tinyMCE产生错误-缺少:在属性id之后。可能这是一个非常糟糕的方法 第三个选项是编辑tiny\u mce\themes\advanced\editor\u template\u src.js第467行: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
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的来源,似乎暗示每个选择框都有一些标题。祝你好运,所以没有办法这么做?