2017-02-10 5 views
0

Ich habe mehrere aktive ACE-Editoren auf der gleichen Seite, von denen jede ein "on change" -Ereignis auslösen soll.Woher weiß man, welcher Ass-Editor ein 'onchange'-Ereignis ausgelöst hat?

editor[iGr].getSession().on('change', function(e) { 
    // e contains the change type and data 
some_code...; 
}); 

Woher weiß ich in der Callback-Funktion, welcher Editor es ausgelöst hat? Das traditionelle "e" -Objekt, das an den Callback gesendet wird, hat nur Informationen über die Daten selbst, aber nicht über den Editor selbst. Und das "dieses" Objekt ist in meinem Fall nicht informativ (ein Array von unbenannten Funktionen, die nativen Code enthalten).

Vielen Dank für jede Hilfe

Damir

+0

Sie verwenden eine Reihe von Editoren richtig. Der Index des Editors sollte Ihnen helfen, basierend auf Ihrer Initialisierung den Editor auszuwählen. –

+0

Ja, aber wenn ich zur "onchange" -Funktion komme, hat das Objekt, das empfangen wird, keine Information darüber, welcher Editor es ausgelöst hat. Im Moment mache ich die angeforderte Aktion auf allen Editoren, was nicht sehr effizient ist. Wie auch immer, danke für deinen Vorschlag. – user3047221

+0

Sprechen Sie über das Objektereignis 'e', ​​wenn das Ereignis 'change' ausgelöst wird? –

Antwort

0

Eigentlich habe ich die Frage selbst beantworten kann: „e“ ist das Ereignisobjekt, wenn das Änderungsereignis ausgelöst wird. Ich habe festgestellt, dass ich den Kontext verwenden kann, in dem die Callback-Funktion geschrieben wird. Dies ist elementares JavaScript: Wenn eine Variable deklariert ist (d. H. Die Nummer des Editors), wird sie in der Callback-Funktion angezeigt ...

Verwandte Themen