4

最近、tinymce から離れました。そこに作成したカスタム関数は、クリックするとツールバーのすぐ上にカスタム div をスライドさせるツールバー ボタンで、ページの読み込み時にツールバーに追加されました。

Inline バージョンを使用している場合、問題は CKEditor に対して同じことを行っています。一度に多数のインスタンスがアクティブになっているため、カスタム プラグイン ボタンをクリックした後に jQuery で追加できるように、現在ポップアップしているインライン Ckeditor のインスタンスを取得するにはどうすればよいですか?

CKEditor の最新バージョン 4.x を使用します。

4

4 に答える 4

8

何を達成しようとしているのか想像するのは難しいです。とにかく、どのエディター インスタンスがフォーカスされているかを確認できます (最終的には、変数に参照を格納できます)。

CKEDITOR.on( 'instanceReady', function( event ) {
    event.editor.on( 'focus', function() {
        console.log( 'focused', this );
    });
});

結局のところ、エディター インスタンスCKEDITOR.instancesはグローバル名前空間のオブジェクトに格納されているため、参照することもできます。これにより、名前、ID、その他 (つまり、以前にボタンに関連付けられていたもの) でインスタンスを見つけることができます。

于 2013-02-05T16:21:18.467 に答える
0

上記の受け入れられた回答を使用して、特定のプラグインをトリガーしたエディター インスタンスのエディター「名前」(知られている) にアクセスできることがわかりました。this._.editor.name (using CKEditor v4.3)

そのため、この方法でエディターのコンテンツを取得できます。

CKEDITOR.instances[this._.editor.name].getData();
于 2014-03-23T04:16:20.733 に答える