0

我在将工具栏选项添加到 CKEditor4 内联工具栏选项时遇到了一些问题。我一直在阅读文档,但仍然无法弄清楚我的问题出在哪里。

我正在动态创建一个 div,然后将 CKEditor 添加到该 div 中。一切正常,但我想删除一些工具栏选项并添加一些其他选项。当我向 inline() 调用添加参数时,没有任何变化?

这是我动态创建实例的方法:

.on('dblclick', function(e){

    e.preventDefault();
    e.stopPropagation();
    ed.ck_restore();
    ed.ck_active_block = $(this).attr("id");
    ed.ck_block_data = $(this).html();
    var block_width = $(this).css("width"); 
    var block_height = $(this).css("height")+20;
    var block_padding_top = $(this).css("padding-top");
    var block_padding_right = $(this).css("padding-right");
    var block_padding_bottom = $(this).css("padding-bottom");
    var block_padding_left = $(this).css("padding-left");
    var padding = 'padding-top: '+block_padding_top+';padding-right: '+block_padding_right+';padding-bottom: '+block_padding_bottom+';padding-left: '+block_padding_left+';';

    var editor = '<div id="edit" contenteditable="true" style="margin-top: -'+block_padding_top+'; margin-left: -'+block_padding_left+';'+padding+' width: '+block_width+'; height: '+block_height+';background-color: #fff;position: absolute;">'+ed.ck_block_data+'</div>';

    $("#"+ed.ck_active_block).prepend(editor);

    if(CKEDITOR.instances.edit)
    {
        CKEDITOR.instances.edit.destroy(); //remove any previously created instances 
    }

    CKEDITOR.inline("edit",
                    [CKEDITOR.config.fontSize_style = {
                        element: 'span',
                        styles: { 'font-size': '#(size)' },
                        overrides: [ {
                            element: 'font', attributes: { 'size': null }
                        }]
                    }]
                    );

    $("#edit").click(function(e){e.stopPropagation();}).focus();
    $("w_save").text("1");
});  

http://docs.ckeditor.com/#!/api/CKEDITOR-method-inline

文档暗示我可以传递配置参数来更改选项,但我遗漏了一些东西,经过 3 小时的尝试,我需要一些帮助。

任何帮助表示赞赏。

谢谢。

4

2 回答 2

0

我不知道那是什么意思:

 CKEDITOR.inline("edit",
                [CKEDITOR.config.fontSize_style = {
                    element: 'span',
                    styles: { 'font-size': '#(size)' },
                    overrides: [ {
                        element: 'font', attributes: { 'size': null }
                    }]
                }]
                );

它是无效的 JavaScript 代码。你检查过你的 JS 控制台吗?

无论如何,CKEDITOR.inline接受两个参数 - name 和 config object

CKEDITOR.inline( 'edit', {
    fontSize_style: {
        element: 'span',
        styles: { 'font-size': '#(size)' },
        overrides: [
            { element: 'font', attributes: { 'size': null } }
        ]
    },
    language: 'pl',
    removeButtons: 'Bold,Italic' // or set toolbar or toolbarGroups.
} );
于 2013-01-29T09:03:36.930 回答
0

感谢您的回复 Reinmar。我能够找到另一个解决方案。这是其他人的代码:

CKEDITOR.inline("edit",{customConfig : "mycustomConfig.js"});

这引用了一个自定义配置文件,我只是从 CKEditor 站点上的示例配置中提取它并更改了一些选项。现在工作。

于 2013-01-29T19:53:11.300 回答