多个Codemirror实例

时间:2015-06-03 13:06:40

标签: javascript jquery requirejs codemirror

我可以创建和显示多个动态代码镜像实例,但我可以使用下面的代码引用它们。 认为问题在于我需要创建一个动态函数名称。 (这里不是100%关于如何这样做)

var function (somefilename, xml){

var instanceName = somefilename + 'Editor';

require([
      'codemirror/lib/codemirror','codemirror/mode/xml/xml', 
      'codemirror/addon/search/search'
], function(CodeMirror) {
        instanceName = CodeMirror.fromTextArea(document.getElementById(somefilename + 'xml'), {
            lineNumbers: true,
            mode: 'xml'
        });
        instanceName.setValue(xml);
        instanceName.focus();
    });

};

1 个答案:

答案 0 :(得分:0)

我实际上是以错误的方式解决这个问题,应该利用一个对象来存储所说的多个实例。这当然使我能够引用任何存储的记录。

希望这可以帮助将来的某个人!

chmod +x testscript.sh

在我的情况下,我将使用requirejs按需加载'

//Create your object to store multiple instances of CodeMirror
var cmInstances = {}

function createInstance(someId) {

所以我在下面做的是在我的对象中创建Codemirror对象的实例。这基本上是我之前在函数中传递的ID的关键(即:' someId)。在我打电话给下面之前我还有一个以前的功能创建一个' textarea'我已经注入了名为'#someID_xml'的页面。因此getElementByID

的引用
require([
  'codemirror/lib/codemirror', 'codemirror/mode/xml/xml',
  'codemirror/addon/search/search'
], function(CodeMirror) {
相关问题