在对话框之前创建编辑器时,在jquery对话框中中断了CKEditor 4

时间:2013-12-27 09:45:44

标签: javascript jquery-ui ckeditor

如果我创建一个CKEditor(4.3.1)实例然后在jquery ui对话框中显示它,则编辑器内容字段为空白,不可编辑,并且与编辑器菜单的任何交互都在控制台中显示js错误:

Uncaught TypeError: Cannot call method 'getSelection' of undefined

关于SO,有几个类似的问题。 This几乎完全相同,除了针对早期版本的CKEditor(3.x.x)报告此问题。使用4.3.1时没有一个解决方法表明成功。

问题似乎是在创建对话框之前创建编辑器。如果我在创建实例之前创建对话框,那么它可以正常工作。我宁愿不在对话后实例化编辑器;是否还有另一种方法可以实现这一目标?

Javascript(jqery.ui 1.10.2,jquery 1.9.0,CKEditor标准包4.3.1):

$(document).ready(function () {
    CKEDITOR.replace('editor1');
    $('#opendialog').on('click', function () {
        $("#dialog" ).dialog();
    });
}); 

HTML:

<body>
    <button id="opendialog">Open Dialog</button>
    <div id="dialog" style="display:none">
        <textarea id="editor1" class="textarea">some content</textarea>
    </div>
</body>

1 个答案:

答案 0 :(得分:1)

我在打开jquery对话框后通过实例化CKEditor解决了这个问题。

可能会有所帮助