私は最近、CodeMirror を介して操作するクラスの開発を開始しました。必要なライブラリを動的にリンクし、サーバーとの通信を提供します。
そのため、すべてを変数に保持し、初期化時に CodeMirror がドキュメント ツリー内にない DOM ノードに追加されます。そのように:
var holder = document.createElement("div");
var textarea = document.createElement("textarea");
holder.appendChild(textarea);
this.editor = CodeMirror.fromTextArea(textarea, {/*options*/});
.show()
次に、クラスでメソッドが呼び出されたときに、DIV を自分で追加します。
this.show(node) {
if(this.editor!=null) {
node.parentNode.replaceChild(holder,node);
}
}
エディターは、クリックして描画しようとするか、ウィンドウのサイズを変更した後は問題ありません。しかし、以前は、スクロールバーが無効になっている空白の領域しか表示されませんでした。これは、CodeMirror 全体を初期化する方法が原因だと思います。
クラス構造を維持したい場合、それを機能させるにはどうすればよいですか?
ライブ コードへのリンク(IE 用ではありません)。