6

CodeMirror を使用して、Web で構文の強調表示を行っています。HTML に 2 つのラジオ ボタンを作成しました。私のJavaScriptコードは次のとおりです。

if(flag == "C")
    Editor = CodeMirror.fromTextArea(textArea, {
    lineNumbers: true,
    matchBrackets: true,
    mode: "text/x-csrc"
});
else if(flag == "Cpp")
    Editor.off(0);
    Editor = CodeMirror.fromTextArea(textArea, {
    lineNumbers: true,
    matchBrackets: true,
    mode: "text/x-c++src"
});

シンタックス ハイライトの機能はこれで完了ですが、問題は、ラジオ ボタンを複数回クリックすると、クリックした回数だけ作成され、面倒なことです。新しいエディター インスタンスを作成する前に、以前のエディター インスタンスを削除する方法はありますか?

4

2 に答える 2

2

cm.getWrapperElement() → Element エディターを表す DOM ノードを返し、そのサイズを制御します。これをツリーから削除して、エディター インスタンスを削除します。

ドキュメントを参照してください。http://codemirror.net/doc/manual.html

于 2014-05-05T01:29:29.827 に答える
1

で作成されたエディタにfromTextAreaは、toTextAreaそれらを削除する方法があります。または、エディタを一度作成してから使用しますEditor.setOption("mode", "text/x-csrc")

于 2013-11-15T14:47:00.960 に答える