2015-03-31 69 views
0

我通過別人有一些代碼編譯,我試圖改變一些形式的值時,調度的事件在對象上觸發dispatchEvent我怎樣才能知道如何聽取它以及事件發送的位置?

這裏是代碼

_instance.dispatchEvent ("ADD_ROW", { 'container' : $li, 'value' : data }); 

行了,我似乎什麼不能做的全球層面是做這樣的事情

someGlobalVariable.addEventListener('ADD_ROW', function (e) { console.log(11111); }, false); 

document.querySelector('body #an_id').addEventListeneraddEventListener('ADD_ROW', function (e) { console.log(11111); }, false); 

我不知道添加ADD_ROW的位置或我必須查看的全局對象。

_instance看起來像這樣的CONSOLE.LOG

Object { _listenerMap: Object, indexOfListener: AbstractEventDispatcher/instance.indexOfListener(), addEventListener: AbstractEventDispatcher/instance.addEventListener(), removeEventListener: AbstractEventDispatcher/instance.removeEventListener(), hasEventListener: AbstractEventDispatcher/instance.hasEventListener(), dispatchEvent: AbstractEventDispatcher/instance.dispatchEvent(), release: AbstractEventDispatcher/instance.release(), rowCount: JSONFieldSetList/_instance.rowCount(), addRow: JSONFieldSetList/_instance.addRow(), deleteRow: JSONFieldSetList/_instance.deleteRow(), 4 more… } 

有沒有一種方法,我可以跟蹤發生什麼事,在那裏被分派的事件?

回答

0

這個_instance對象,它是一些框架的一部分嗎?或者它只是一些局部變量,你不知道它是如何創建的?

無論如何,如果其dispatchEvent方法的行爲如EventTarget interface中所定義的那樣,則由_instance引用的對象是目標。一個對象不需要成爲一個節點,或者在DOM中成爲一個有效的事件目標,它只需要實現EventTarget。例如,XHR對象和EventSource對象可以偵聽DOM事件,但這些事件不會遍歷HTML DOM到達那裏。

你不能只是將你的聽衆添加到_instance或保持全球參考_instance

+0

我覺得_instance是本地/溫度值。我有一個可能包含_instance的全局對象,但我不確定如何訪問該事件。好吧,看一下全球變數 – orbitory 2015-03-31 22:07:03

+0

好。你知道如何使用事件監聽器嗎?你是否按照我的建議直接向'_instance'添加一個?如果沒有,是否有理由不能做到這一點? – Touffy 2015-04-01 06:44:01

+0

這是我的名單上的下一個,希望我可以觸發一個在我的HTML元素,並訪問它使用簡單的jQuery或普通的js選擇器 – orbitory 2015-04-01 11:53:33

-1

我設法通過添加我自己的事件來解決它。

$li.trigger('ADD_ROW'); 

+

$('body').on('ADD_ROW', '.multi-field-set-bottom-links.row.multi-field-set-row', function(){}); 

THX

+0

,實際上並沒有回答你的原始問題 – Touffy 2015-04-01 13:42:08

+0

我知道,但我認爲這個事件不能從另一個文件全局訪問。我認爲_instance是一個全球對象的私有,事件只在本地「收穫」。所以我在我想要的元素上創建了自己的事件(同名)(不是一些父類)。這個問題應該刪除,因爲它不會幫助任何人,但可能會給其他人提供關於如何解決的想法 – orbitory 2015-04-02 14:55:16

相關問題