Ace.js .о событии

#javascript #ace-editor

#javascript #ace-редактор

Вопрос:

У меня есть несколько ace.js редакторы на одной странице. Они хранятся в массиве.

Как определить редактор, в который я ввожу текст?

 var editor = {first: ace.edit("editor"), second: ace.edit("editor1"), third: ace.edit("editor2")};

for(var i in editor) {
    editor[i].getSession().setMode("ace/mode/javascript");
    editor[i].on('input', function() {
        console.log(this); // How to get current editor? this returns [function()]
    });
}
 

jsfiddle: http://jsfiddle.net/3nHas/25 /

Заранее спасибо.

Ответ №1:

Вам нужен элемент? Или экземпляр редактора? В любом случае, вы должны найти то, что вам нужно, во втором параметре вызываемой функции.

 editor[i].on('input', function(e, target) {
    console.log(target);
});