11

我有一个 ckeditor 插件并在 init 内部:我想捕获点击事件,以便我可以做一些事情。

CKEDITOR.plugins.add('Columns',{
  init : function(editor) {
    editor.on('doubleclick', function(ev) {console.log('hello');}); // Works
    editor.on('focus', function(ev) {console.log('hello');}); // Works

    editor.on('click', function(ev) {console.log('hello');}); // Does not work
    editor.on('mousedown', function(ev) {console.log('hello');}); // Does not work
  }
});

有任何想法吗???

编辑: 确定无法点击工作,我相信我们需要为此创建一个事件。但是感谢这篇文章:http ://alfonsoml.blogspot.com.au/2011/03/onchange-event-for-ckeditor.html

我设法使用了“saveSnapshot”,每次单击时似乎都会触发,所以现在可以使用

editor.on('saveSnapshot', function(ev) {console.log('hello');}); // Works
4

1 回答 1

1

我意识到这很旧,但它没有原始问题的答案。

CKEDITOR.plugins.add('Columns',{
    init : function(editor) {
        editor.on('instanceReady', function (e) {
            this.container.on('click', function (event) {
                console.log('hello');
            });
        });
    }
});

注意:当 CKEditor 处于“经典 iframe 模式”时,这将不起作用。相反,您需要使用this.document(参见:文档属性)来获取对 iframe 的引用。

于 2013-09-04T09:56:02.813 回答