2

テキストカラープラグインの前色ボタンと背景色ボタンを一日中表示するようにTinyMCEエディターを構成しようとしています。

プラグインのリストに 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アプリを使用していますが、それが違いを生む場合に備えて、なぜそうなるのか想像できません。

ありがとう、

4

1 に答える 1

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() 内のコールバックです -> createControl(name,mgr)

于 2013-09-23T02:41:56.807 に答える