CodeMirror如何删除编辑器实例?

6

我正在使用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个回答

2

使用fromTextArea创建的编辑器有一个toTextArea方法以便将其移除。或者,只需创建一次编辑器并使用Editor.setOption("mode", "text/x-csrc")


是的,toTextArea方法就是我想要的。我已经解决了我的问题。感谢Marjin和Bren1818。 - user2992389
请提供 Fiddle。 - user6390636

2

cm.getWrapperElement() → Element

返回代表编辑器并控制其大小的DOM节点。从您的树中删除此节点以删除编辑器实例。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接