CKEditor获得选定的编辑器

时间:2013-01-24 16:57:26

标签: php javascript jquery content-management-system ckeditor

我有一个CMS系统,它并排显示两个CKEditors,以便用户可以编辑主体和侧边栏内容。两个编辑器共享相同的工具栏。

我添加了一个插件,允许用户将嵌入数据添加到编辑器中。 唯一的问题是我需要在当前选定的编辑器上显示数据,键盘光标当前正在设置。

如何在工具栏上按下按钮之前使用javascript或JQuery获取当前选中的CKEditor元素。

现在我只能通过直接选择特定的编辑器实例来实现它。

CKEDITOR.instances.mtxDescription.insertHtml(data); 

但是我需要能够将数据直接输入到选择的编辑器中

3 个答案:

答案 0 :(得分:1)

如果您正在创建一个CKEditor插件,那么您已经有一个对它处于活动状态的编辑器的引用,请查看有关如何创建CKEditor插件的基本教程http://docs.cksource.com/CKEditor_3.x/Tutorials/Timestamp_Plugin

editor.addCommand( 'insertTimestamp',
    {
        exec : function( editor )
        {    
            var timestamp = new Date();
            editor.insertHtml( 'The current date and time is: <em>' + timestamp.toString() + '</em>' );
        }
    });

答案 1 :(得分:0)

我在编辑包装器上放了一个类,其中存在唯一ID,然后是:

var myEditor = $(this).closest('.my-class').attr('id');

答案 2 :(得分:0)

我能够通过向每个编辑器添加模糊事件并存储上次调用事件的最后一个ID来解决此问题。

var currentEditorInstance = 'mtxDescription';   
for(name in CKEDITOR.instances) {
CKEDITOR.instances[name].on('blur', function () {
        currentEditorInstance = this.name;
});
}