0
我使用codemirror在我的博客,這裏是代碼: 創建多個Codemirrors和保存值,以textarea的
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()});
}
我在多個codemirrors上面的代碼,我要保存的值每codemirrors自己的textarea的,它做工精細,除了這行:
editor[i].on("blur", function() {editor[i].save()});
誰能figureout有什麼錯我的代碼?
爲了說明問題:實際的問題是'i'變量被你創建的所有函數共享,並且它將在循環結束時以'editor.length'結束,所以如果函數實際上被調用,它不會在'editor [i]'上找到編輯器。 Bala描述的解決方案是一個很好的解決方法。 – Marijn 2014-09-22 20:44:27