[英]How to know which ace editor fired an 'onchange' event?
我在同一頁面上有幾個活動的 ACE 編輯器,每個編輯器都應該觸發“on change”事件。
editor[iGr].getSession().on('change', function(e) {
// e contains the change type and data
some_code...;
});
我如何在回調函數中知道哪個編輯器觸發了它? 發送到回調的傳統“e”對象僅包含有關數據更改本身的信息,而不是編輯器本身的信息。 在我的情況下,“this”對象沒有提供信息(包含本機代碼的未命名函數數組)。
實際上,我可以自己回答這個問題:“e”是觸發更改事件時的事件對象。 我發現我可以使用編寫回調函數的上下文。 這是基本的Javascript:如果聲明了一個變量(即編輯器的編號),它將在回調函數中看到......
您可以將 2 個參數傳遞給處理函數,第二個是編輯器實例。
editor1.on("change", function(e, ins) {
ins.setValue("HELLO on Editor 1", -1);
});
editor2.on("change", function(e, ins) {
ins.setValue("HELLO on Editor 2", -1);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.