2014-12-05 19 views
0

我想知道事件委託如何在JS內部工作?堆棧溢出的人已經回答了什麼是偶數代表(What is Event Delegation),但我沒有看到它的工作原理。事件委託如何在Javascript內部工作

父節點如何知道哪個子節點被點擊?它應該存儲在什麼地方?

+1

事件委託不是JavaScript的內部,它是一種管理事件偵聽器的方法。也許[* MDN Events *文章](https://developer.mozilla.org/en-US/docs/Web/API/Event)會有所幫助。 – RobG 2014-12-05 06:09:11

+0

你正在尋找*事件傳播*,或爲[這個答案](http://stackoverflow.com/a/25248515/1048572)? – Bergi 2014-12-05 06:32:15

+0

看看這個問題的答案 https://stackoverflow.com/questions/1687296/what-is-dom-event-delegation – Aminul 2014-12-05 06:33:53

回答

1

W3C Events Specification定義事件如何工作。 Events分派到事件目標上,則生成的Event對象具有關聯的target屬性,該屬性是最初分派事件的元素(例如,已被單擊的元素)。

事件讓DOM冒了出來,它的任何處理函數都會調用它的偵聽器。相關事件對象用引用調用偵聽器的元素的currentTarget屬性進行擴充。

請注意,並非所有正在使用的瀏覽器完全支持上述所有功能,尤其是currentTarget當前屬性是相當新的和更老的IE支持event.srcElement而不是event.target

你應該閱讀上面鏈接的規範,MDN Event reference和相關文章。