劫持CKeditor输入字段

时间:2013-05-10 13:28:00

标签: javascript ckeditor

当有人拉出CKeditor中的Image对话框时,我希望能够从URL文本输入字段中获取onfocus事件。

我尝试为元素添加一个事件处理程序(id#cke_75_textInput),但只在单击了Image按钮后才在DOM中。

浏览了CKEditor 3 JavaScript API文档,在这里,我很挣扎,找不到我需要的东西。

这可以通过API完成吗?

1 个答案:

答案 0 :(得分: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