[Javascript] 什麼是 Event Delegation?




Event Delegation 簡單的說就是把指定事件 (Event) 的事件處理函式 (Event Handler) 指定給目標物件的 Parent,當事件被觸發時,事件會傳遞至目標物件的 Parent,Parent 的事件處理函式就可以根據事件在哪裡觸發,來做一些處置。

譬如說,如果有一個 unordered list (UL),我們會把 Event Handler 指定給 “UL” element 來處理 “LI” element 所發生的事件,而不是針對每一個 “LI” element 都指定一個 Event Handler。針對 “LI” 來設定 Event Handler 還有一個很大的缺點,就是當執行程式來加入一個新的 “LI” element,而忘記指定對應的 Event Handler 給新的 “LI” element 時,發生在該 “LI” element 的事件,就不會被處理。(詳見參考資料內的說明。)

參考資料:




Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.