CKEditor 4在对话框之前创建编辑器时在jquery对话框中损坏



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

Uncaught TypeError: Cannot call method 'getSelection' of undefined

SO上有几个类似的问题。这几乎是一个完全重复的问题,除了这个问题是在早期版本的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>

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

它能帮助吗

最新更新