首頁常見問題正文

DOM事件委托的原理和作用是什么?

更新時間:2023-06-15 來源:黑馬程序員 瀏覽量:

IT培訓班

事件冒泡本身的特性,會帶來的壞處,也會帶來的好處,需要我們靈活掌握。生活中有如下場景:

班級中有100個學生, 快遞員有100個快遞, 如果一個個的送花費時間較長。同時每個學生領取的時候,也需要排隊領取,也花費時間較長,何如?

解決方案: 快遞員把100個快遞,委托給班主任,班主任把這些快遞放到辦公室,同學們下課自行領取即可。

優(yōu)勢: 快遞員省事,委托給班主任就可以走了。 同學們領取也方便,因為相信班主任。

程序中也有如此場景:

<ul>
        <li>知否知否,應該有彈框在手</li>
        <li>知否知否,應該有彈框在手</li>
        <li>知否知否,應該有彈框在手</li>
        <li>知否知否,應該有彈框在手</li>
        <li>知否知否,應該有彈框在手</li>
  </ul>

點擊每個 li 都會彈出對話框,以前需要給每個 li 注冊事件,是非常辛苦的,而且訪問 DOM 的次數(shù)越多,這就會延長整個頁面的交互就緒時間。

事件委托也稱為事件代理, 在 jQuery 里面稱為事件委派。

事件委托的原理:不是每個子節(jié)點單獨設置事件監(jiān)聽器,而是事件監(jiān)聽器設置在其父節(jié)點上,然后利用冒泡原理影響設置每個子節(jié)點。

以上案例:給 ul 注冊點擊事件,然后利用事件對象的 target 來找到當前點擊的 li,因為點擊 li,事件會冒泡到 ul 上, ul 有注冊事件,就會觸發(fā)事件監(jiān)聽器。

事件委托的作用:事件委托中我們只操作了一次 DOM ,便提高了程序的性能。


分享到:
在線咨詢 我要報名
和我們在線交談!