2017-02-10 160 views
0

我在同一頁面上有幾個活動的ACE編輯器,他們每個人都應該觸發「on change」事件。如何知道哪個ace編輯器觸發了'onchange'事件?

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

如何知道回調函數中哪個編輯器觸發了它? 發送到回調的傳統「e」對象只是關於數據更改本身的信息,而不是編輯器本身。 而這個「this」對象在我的情況下並沒有提供信息(包含本地代碼的未命名函數數組)。

感謝所有幫助

達米爾

+0

您正在使用編輯器的陣列權。編輯器的索引應該幫助您根據您的初始化選擇哪個編輯器。 –

+0

是的,但是當我到達'onchange'函數時,收到的對象沒有任何有關哪個編輯器觸發它的信息。目前,我對所有編輯都要求採取行動,效率不高。無論如何,謝謝你的建議。 – user3047221

+0

當'change'事件被觸發時,你是在談論對象事件'e'嗎? –

回答

0

其實,我可以回答這個問題我自己:「E」是時候改變事件被觸發的事件對象。我發現我可以使用寫回調函數的上下文。這是基本的Javascript:如果聲明一個變量(即編輯的數量),它會在回調函數中可以看出...

相關問題