Javascript 创建多个代码镜像并将值保存到Textarea

Javascript 创建多个代码镜像并将值保存到Textarea,javascript,jquery,codemirror,Javascript,Jquery,Codemirror,我在我的博客中使用codemirror,下面是代码: 有人能找出我的代码有什么问题吗?试试这个 编辑器[i]。关于(“模糊”,函数(codeMirror){codeMirror.save()}) 澄清一下:实际的问题是,i变量由您正在创建的所有函数共享,并且它将在循环结束时以值editor.length结束,因此如果函数实际被调用,它将无法在editor[i]找到编辑器。Bala描述的解决方案是一个很好的解决方案。 var codeJs = document.getElementsByClas

我在我的博客中使用codemirror,下面是代码:

有人能找出我的代码有什么问题吗?

试试这个
编辑器[i]。关于(“模糊”,函数(codeMirror){codeMirror.save()})

澄清一下:实际的问题是,
i
变量由您正在创建的所有函数共享,并且它将在循环结束时以值
editor.length
结束,因此如果函数实际被调用,它将无法在
editor[i]
找到编辑器。Bala描述的解决方案是一个很好的解决方案。
var codeJs = document.getElementsByClassName("code-js");
var editor = [];

for (var i=0; i<codeJS.length; i++){
  editor[i] = CodeMirror.fromTextArea(codeJS[i], {
    lineNumbers: true,
    matchBrackets: true,
    autoCloseBrackets: true
  });
  // Save the value of every codemirror to the textarea
  editor[i].on("blur", function() {editor[i].save()});
}
editor[i].on("blur", function() {editor[i].save()});