CKEditor调用openDialog我得到了淡入淡出但没有对话框

时间:2014-12-26 14:59:12

标签: javascript jquery dialog ckeditor

使用CKEditor我想创建一个对话框而不是作为插件的一部分。但是,当我调用openDialog进行对话时,我添加了...它会淡出屏幕,但我从未看到对话框。任何人都可以帮助我吗?

<table cellpadding="0" cellspacing="0">
<tr>
    <td style="padding:0" valign="top">
        <div class="leftsidemenu sidemenu">
            <div class="menusection">
                <div class="menuheader">Test Menu</div>
                <div class="menuitem"><a id="testClick" href="#">Test Click</a></div>
            </div>
        </div>
    </td>
    <td style="padding:0" valign="top"><div class="editor1"><textarea id='editor1'>Testing it out</textarea></div>
    </td>
</tr>
</table>

这是添加对话框然后打开对话框的javascript。

<script>
    $(document).ready(function () {
        CKEDITOR.replace('editor1', {
            height: 1000
        });

        CKEDITOR.on('instanceCreated', function (ev) {
            var editor = ev.editor;

            CKEDITOR.dialog.add('placeholderDialog', function (editor) {
                return {
                    title: 'Link Properties',
                    minWidth: 400, minHeight: 200,
                    contents:
                    [
                        {
                            id: 'general', label: 'Settings',
                            elements:
                            [
                                {
                                    type: 'html', html: 'This dialog window lets you create simple links for your website.'
                                }
                            ]
                        }
                    ]
                };
            });
        });

        $("#testClick").click(function () {
            CKEDITOR.instances.editor1.openDialog('placeholderDialog');
        });

    });
</script>

1 个答案:

答案 0 :(得分:1)

CKEDITOR.replace('editor1', {
    height: 1000
});

需要在之后

CKEDITOR.on('instanceCreated', fun...

因为否则实例已经创建并且instanceCreated事件已经发生。