我一直在尝试配置TinyMCE编辑器,以便全天显示textcolor插件的forecolor和backcolor按钮。
我的插件列表中有textcolor和|,forecolor,backcolor,|在我的theme_advanced_buttons2设置中。我正在使用TinyMCE 4.0。
按钮有一个空间,但图标不显示 - 所有其他图标都没有显示,只是没有前景色或背景色。当我在Chrome中检查元素时,我看到元素在那里:
<a role="button" id="id_text_forecolor" href="javascript:;" class="mceButton mceButtonEnabled mce_forecolor" onmousedown="return false;" onclick="return false;" aria-labelledby="id_text_forecolor_voice" title="" tabindex="-1">
<span class="mceIcon mce_forecolor"></span>
<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="id_text_forecolor_voice"></span>
</a>
但是当我点击按钮时,控制台会显示此错误,该错误发生在tiny_mce.js中:1
Uncaught TypeError: Cannot call method 'toLowerCase' of undefined
TinyMCE中的其他所有工作正常。我正在使用Django和Django-TinyMCE应用程序,如果有所作为,我无法想象为什么会这样。
谢谢,
答案 0 :(得分:0)
不确定您遇到错误的当前环境。但是,我的问题是使用相同的API的tinyMCE插件。我经历了同样未被捕获的例外。我发现问题是父createSplitButton()调用缺少onClick属性。当tinyMCE尝试处理父按钮上的单击时,它会因此错误而失败。我的解决方案是使用jQuery(已在页面上加载)来查找mceLast元素,并触发对它的单击,这会“快捷”应该打开的按钮。
我想确保此错误不会造成重大的UX失败:让tinyMCE插件按钮不做任何事情(并且抛出错误)!
control = e.createSplitButton( "plugin_button",
{
title: "My Plugin",
image: 'image.png',
onclick: function () {
jQuery("#content_"+name+"_open").closest('td').trigger('click')
return false;
}
});
name是tinyMCE.create()中的回调 - &gt; createControl(姓名,MGR)