CodeMirror删除编辑器实例

时间:2013-11-14 14:04:31

标签: javascript editor instance codemirror

我正在使用CodeMirror在我的网站中进行一些语法高亮显示。我在我的html中创建了两个单选按钮。我的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"
});

它确实完成了语法高亮的功能,但问题是当我多次点击单选按钮时,它只创建了我点击的数量,这很烦人。所以我想知道在创建新的编辑器实例之前是否有任何方法可以删除之前的编辑器实例?

2 个答案:

答案 0 :(得分:2)

cm.getWrapperElement()→元素 返回表示编辑器的DOM节点,并控制其大小。从树中删除它以删除编辑器实例。

请参阅文档。 http://codemirror.net/doc/manual.html

答案 1 :(得分:1)

使用fromTextArea创建的编辑器使用toTextArea方法删除它们。或者,只需创建一次编辑器并使用Editor.setOption("mode", "text/x-csrc")