0

誰かが CKeditor で [画像] ダイアログ ボックスを表示したときに、URL テキスト入力フィールドから onfocus イベントを取得できるようにしたいと考えています。

要素 (id #cke_75_textInput) のイベント ハンドラーを追加しようとしましたが、画像ボタンがクリックされた後にのみ DOM 内にあります。

CKEditor 3 JavaScript API Documentation と here を調べた後、苦労して必要なものを見つけることができませんでした。

これは API を介して実行できるものですか?

4

1 に答える 1

0

フォーカス委譲で魔法をかける必要はありません (フォーカスがバブリングしないため、これは面倒です)。CKEditor API を使用するだけです。

CKEDITOR.on( 'dialogDefinition', function( evt ) {
    if ( evt.data.name == 'image' ) {
        var def = evt.data.definition;

        var onShow = def.onShow;
        def.onShow = function() {
            onShow && onShow.apply( this, arguments );

            var input = this.getContentElement( 'info', 'txtUrl' );
            console.log( input.getValue() );
            input.on( 'focus', function() {
                console.log( 'focused' );
            } );
        };
    }
} );

PS。CKE4 のドキュメントは、古い CKE3 のものよりも一握りです - http://docs.ckeditor.com/#!/api/CKEDITOR.dialog

于 2013-05-11T07:43:42.987 に答える