3

プラグインで作成された同じコマンドを直接使用して、TinyMCE ツールバーに接続されているテキストエリアの方向性を変更する方法はありますか? つまり、ツールバーのアイコンを実際にクリックせずに、RTL の方向性をプログラムで実行したいということです。

プラグインのソース コードにはdirectionality、次のコードが含まれています。

        ed.addCommand('mceDirectionRTL', function() {
            setDir("rtl");
        });

これはそれmceDirectionRTLがコマンドであることを意味します。コードで直接使用できますか? 試しましたが認識されません。

私が尋ねている理由は、TinyMCE ツールバーの初期化/セットアップ機能中ではなく、tinyMCE インスタンスが開始された後にこのコマンドを実行したいからです。私はたくさんのtexraeasを持っています.いくつかは英語で、いくつかarはRTLであるアラビア語用であることを示すクラスを持っています.

しかし、私がこれを行うとき: $('ID of my textarea'_ifr').contents().find('body').attr('dir', 'rtl');

mceExternalToolbar次に、テキストエリアだけでなく (ツールバー全体!) が rtl になることを除いて、すべて問題ありません。そのため、外部ツールバーは基本的に場違いになり、ページの右側に傾いています。しかし、ツールバー全体ではなく、接続されているテキストエリアにのみ RTL テキストが必要です!

そのため、ツールバーがインスタンス化された後、ツールバーのRTLボタンのクリックを何らかの方法で外部的にシミュレートしたいと考えています。これは可能ですか?

4

3 に答える 3

4

設定して再描画することが解決策になる場合があります。

http://www.tinymce.com/forum/viewtopic.php?id=9735

tinyMCE.settings['directionality'] = 'rtl';
tinyMCE.execCommand( 'mceRemoveControl', false, 'editor );
tinyMCE.execCommand( 'mceAddControl', false, 'editor );
于 2012-12-31T11:38:08.397 に答える
1

方向性プラグインを「インストール」すると、次のようなことができます。tinyMCE への参照も必要です。

function(directionality){
    var command = directionality == 'ltr' ? 'mceDirectionLTR' : 'mceDirectionRTL'
    for(var i = 0; i++; i<tinyMCE.editors.length;{
    tinyMCE.editors[i].execCommand(command)
    }
}

私のサイトには 2 人の編集者がいます。それは私のために仕事を成し遂げるようです。

于 2015-03-03T12:07:57.137 に答える