2
내 페이지에 jquery-ui 탭 위젯 안에 CodeMirror 인스턴스가 여러 개 있습니다. 나는과 같이 동적으로 이러한 인스턴스를 생성 :CodeMirror가 텍스트 영역을 올바르게 업데이트하지 않습니다.
//Returns a code mirror editor
editor.create = function(id){
var codeID = "code-" + id;
var $node = $('<form><textarea id="' + codeID + '" name="' + codeID + '">test</textarea></form>');
editor.editors[id] = CodeMirror.fromTextArea($node.find("textarea").get(0), editor.options);
return $node;
};
각 인스턴스는 editors
라는 전역 배열에 저장된다.
일단 생성되면 DOM에 추가됩니다.
var $editor = editor.create(id);
var tabID = "tabs-" + id;
var $tab = $('<li id=' + id + '><a href="#' + tabID + '">' + name + '</a> <span class="ui-icon ui-icon-close" role="presentation">Remove Tab</span></li>');
var $tabPanel = $('<div id="' + tabID + '"></div>');
$tabPanel.append($editor);
$('#coder > ul').append($tab);
$('#coder').append($tabPanel);
coderTabs.tabs("refresh");
텍스트 영역에 배치 된 테스트 텍스트가 편집기에 표시됩니다. 그러나 editor.editors[id].save()
을 호출해도 텍스트 영역이 업데이트되지 않습니다.
업데이트 할 텍스트 영역을 확보하기 위해 누락 된 단계가 무엇인지 모르겠습니다. 어떤 도움을 많이 주시면 감사하겠습니다!