Boostrap (2.3.1) Modal を使用してフォームを表示しています (これらは ajax で読み込まれます)。ただし、「shown」イベントによってトリガーされたテキストエリアを置き換えようとするとCKEDITOR.replace(id)
(CKEditor 4.2)、IE 9 では置き換えられません (Firefox と Chrome は問題ありません)。
タイムアウトを設定すると、少なくともダイアログを 2 回目に呼び出したときに置き換えられます。
$("#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);
});
});
それ以外の場合、つまりデバッガーは「ドキュメント」が設定されていないというエラーを2回目に表示し、次のことを示します( @ a.editable(new j(a,e.$.contentWindow.document.body)); )。
ここで何が間違っているのかよくわかりませんか?
CKEDITOR が初めて置換されないのは、表示されているイベントの問題のようです。つまり、モーダル本体はまだ空です。各ループを setTimeout (300) で囲みましたが、動作しているようです (もう少しテストが必要です)。
更新:それでうまくいきました。