2012-04-25 13 views
1

私はTinyMCEツールバーに多くのカスタムボタンを持っています。そのほとんどは、クリックするといくつかのオプションが追加されたダイアログボックスを開きます。これはすべて正常に動作します。ここ は私tinyMCE_setup()関数で何かの例です:カスタムのTinyMCEボタンをプログラムでアクティブにする

ed.addButton('link2', { 
    title: '{!link!}', 
    image: '../style/common/images/link_20x20.png', 
    onclick: function() { 
     replyBoxDialog('link', ed); 
    } 
}); 

しかし、私はプログラム的にこれらを呼び出すことができるようにしたい、とjQueryを使ってボタンの上)(.clickを偽造することは、それをカットされません。 私は

replyBoxDialog('link',tinyMCE); 

関数を直接呼び出してみましたしかし、関係なく、私は2番目の引数として試すものを、私は右のオブジェクトを取得することはできません(それは、エディタに何かを挿入する時が来たとき、それが失敗した、などエディターが何であるかはわかりません)。

また、さまざまなexecCommand()呼び出しを試してみましたが、何を入れるべきか分かりません。

手がかりはありますか?

答えて

2

あなたがしなければならないのは、

var editor_instance = tinymce.activeEditor; // in case you just use one editor 
var editor_instance = tinymce.get('my_special_editor_id'); // in case you have more than one editor 

replyBoxDialog('link', editor_instance); 
+0

優秀PARAMTERとして本当のエディタオブジェクトを使用することです。乾杯。 –

1

スクリプトの先頭に変数globalEdを作成し、globalEd = ed;tinyMCE_setup()に追加すると、replyBoxDialog('dragndrop', globalEd);に電話することができます。これは適切にハッキーなやり方だと思われるので、これ以上のアドバイスは歓迎します。

関連する問題