Tiny_mce.js"未捕获的类型错误:无法调用方法'至小写'未定义的“;用于前彩色和后彩色

Tiny_mce.js "Uncaught TypeError: Cannot call method 'toLowerCase' of undefined" for forecolor, backcolor buttons

本文关键字:彩色 方法 用于 调用 未定义 quot js mce Tiny 错误 类型      更新时间:2023-09-26

我一直在尝试配置TinyMCE编辑器,以便全天显示textcolor插件的前色和后色按钮。

我在插件列表中有textcolor,在theme_advanced_buttons2设置中有|,forecolor,backcolor,|。我正在使用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应用程序,以防这会有所不同,但我无法想象为什么会这样。

谢谢,

不确定您遇到错误的当前环境。然而,我的问题是使用同一个API的tinyMCE插件。我也经历了同样的意外。我发现问题是父createSplitButton()调用缺少onClick属性。当tinyMCE尝试处理对父按钮的单击时,它会失败并出现此错误。我的解决方案是使用jQuery(已经加载在页面上)来查找mceLast元素,并触发对它的单击,从而"快捷"应该打开的按钮。

我想确保这个错误不会造成重大的用户体验失误:让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()->createControl(name,mgr)内部的回调