1

ユーザーが本体とサイドバーのコンテンツを編集できるように、2つのCKEditorを並べて表示するCMSシステムがあります。両方のエディターは同じツールバーを共有します。

ユーザーが埋め込みデータをエディターに追加できるようにするプラグインを追加しました。唯一の問題は、キーボードカーソルが現在設定されている、現在選択されているエディターに表示するデータが必要なことです。

javascriptまたはJQueryを使用して、ツールバーのボタンが押される前に現在選択されているCKEditor要素を取得するにはどうすればよいですか。

今のところ、特定のエディターインスタンスを直接選択することによってのみ機能させることができます。

CKEDITOR.instances.mtxDescription.insertHtml(data); 

ただし、選択したエディターにデータを直接ドロップできるようにする必要があります

4

3 に答える 3

1

CKEditorプラグインを作成している場合は、アクティブであるエディターへの参照が既にあります。CKEditorプラグインの作成方法に関する基本的なチュートリアルを確認してくださいhttp://docs.cksource.com/CKEditor_3.x/Tutorials/Timestamp_Plugin

editor.addCommand( 'insertTimestamp',
    {
        exec : function( editor )
        {    
            var timestamp = new Date();
            editor.insertHtml( 'The current date and time is: <em>' + timestamp.toString() + '</em>' );
        }
    });
于 2013-01-24T19:28:18.627 に答える
0

一意のIDが存在するレベルのエディターラッパーにクラスを配置し、次のようにします。

var myEditor = $(this).closest('.my-class').attr('id');
于 2013-01-24T17:15:28.347 に答える
0

各エディターにblurイベントを追加し、イベントが最後に呼び出されたときの最後のIDを保存することで、この問題を解決することができました。

var currentEditorInstance = 'mtxDescription';   
for(name in CKEDITOR.instances) {
CKEDITOR.instances[name].on('blur', function () {
        currentEditorInstance = this.name;
});
}
于 2013-01-24T20:24:19.277 に答える