我正在使用Boostrap(2.3.1)模式来显示表单(那些是用ajax加载的)。但是,当我尝试替换由“显示”事件和CKEDITOR.replace(id)
(CKEditor 4.2)触发的textarea时,它将不会在IE 9中被替换(Firefox和Chrome很好)。
如果我设置了超时,它至少会替换你第二次调用对话框:
$("#bok-modal-form").on("shown", function() {
$(this).find(".modal-body").find(".bokCKE").each( function() {
var id = $(this).attr("id");
if( CKEDITOR.instances[id] ) CKEDITOR.instances[id].destroy(true);
window.setTimeout(function() {
CKEDITOR.replace(id);
}, 1000);
});
});
否则仅第二次,即调试器显示未设置“文档”的错误,指向以下内容(@ a.editable(new j(a,e。$。contentWindow。 document.body));)。
不太确定我在这里做错了什么?
CKEDITOR第一次没有更换似乎是所显示事件的问题。即,模态体仍然是空的。我用setTimeout(300)包围了每个循环,它似乎工作(需要更多的测试)。
更新:这就是诀窍。