javascript - 如何在 CKEditor iframe 上添加 onClick 事件

标签 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 后,它不再起作用了。

最佳答案

请尝试在某些默认示例上使用以下代码。基本上,如果您已将 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' );
        } );
    } );
} );

关于javascript - 如何在 CKEditor iframe 上添加 onClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365090/

相关文章:

javascript - 如何将部分表单的数据传递给 Rails 操作(使用 JavaScript 且不使用嵌套属性)?

javascript - 将存储在文件中的 json 分配给 js 变量

jquery - 提交我当前使用的表格

javascript - 为什么我不能从两个函数内部调用该函数?

reactjs - 当我在 React 中按下 f5 刷新时,Ckeditor 为 null(消失)

ruby-on-rails - 如何获取 ckeditor 资源以在 Rails 3.1 Assets 管道中编译和加载

javascript - Tornado WebSockets - InvalidStateError "Still in CONNECTING State"

javascript - 防止 body 元素在触摸设备上滚动

php - POST 请求到哪里去了?

asp.net - CKEditor 在更新面板内无法正常工作