切换到/从源视图切换时CKEditor挂钩/事件被激活

时间:2012-03-16 08:48:28

标签: javascript javascript-events ckeditor

我尝试将div标签转换为可以在CKEditor中拖放的内容(如另一个问题中所述)。 如果某人切换 源视图 WYSIWYG模式,我知道如何触发此事件吗?

谢谢,
-lony

4 个答案:

答案 0 :(得分:5)

我认为这就是你要找的东西:

CKEDITOR.on('instanceCreated', function(e) {
    e.editor.on('mode', function(e){
        // Do your stuff here
        alert(e.editor.mode);
    });
}); 

答案 1 :(得分:0)

如果您的意思是,您想捕获源模式更改,那么您可以尝试这样的事情:


//add this to your CKeditor’s config.js
$('textarea.cke_source').live('keyup', function() {
  $(this)
    .closest('.cke_wrapper')
    .parent()
    .parent()
    .prev()
    .ckeditorGet()
    .fire('change');
});

此讨论也可能有所帮助:ckEditor 希望它有所帮助

答案 2 :(得分:0)

我认为你应该写一个插件来为wysiwyg-view制作假元素。

Ckeditor能够识别需要用fake-elements替换的元素。

我为你做了一个开始:

( function() {
CKEDITOR.plugins.add( 'myPlugin', {
    requires : [ 'fakeobjects' ],
    init: function( editor ) {
        var me = this;
        var pluginName = 'myPlugin';
        editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) );

        editor.addCss( // your custom css for your placeholder here
            'div.myPluginElement' +
            '{' +
                'border: 1px solid #a9a9a9;' +
                'width: 70px;' +
                'height: 50px;' +
            '}'
        );

    },
    afterInit : function( editor ) {
        var dataProcessor = editor.dataProcessor,
            dataFilter = dataProcessor && dataProcessor.dataFilter;

        if ( dataFilter ) {
            dataFilter.addRules({
                elements : {
                    div : function( element ) {
                        if (typeof element.attributes['class'] !== 'undefined' && element.attributes['class'].indexOf('myPluginElement') != -1)
                            return editor.createFakeParserElement( element, 'myPluginElement', 'div', false);
                        else return;
                    }
                }
            });
        }
    }
} );

})();

答案 3 :(得分:0)

CKEditor onChange插件:

每当CKEditor的内容发生变化时,都会收到通知(新事件)。

http://ckeditor.com/addon/onchange