如何在CKEditor iframe上添加onClick事件

时间:2017-09-22 12:41:59

标签: javascript jquery ckeditor

我正在使用CKEditor,我想在CKEditor iframe窗口的onClick事件上执行一些任务。即CKEditor的可编辑区域。

 CKEDITOR.instances['ckEditor'].on('contentDom', function() {
        this.document.on('click', function(event){
             // calling some other function or some logic
         });
    });

但是,上面的代码只在我第一次点击CKEditor iframe时才有效。为什么这样?点击html页面的其他元素然后点击CKEditor iframe后,它再也无法工作了。

1 个答案:

答案 0 :(得分:2)

请尝试在某些默认样本上使用以下代码。基本上,如果您已将click事件附加到编辑器editable并且您正在使用contentDom事件,那么即使在切换到源模式并返回实际位置之后,也应该触发click的事件处理程序旧的iframe被销毁,全新的iframe被创建。

var editor = CKEDITOR.replace( 'editor1', {});
editor.on( 'pluginsLoaded', function( event ) {
    editor.on( 'contentDom', function( evt ) {
        editor.editable().attachListener( editor.editable(), 'click', function( e ){
            console.log( 'click' );
        } );
    } );
} );