<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Web前端入門第 75 問:JavaScript 性能優化之事件委托(事件代理)原理

      如今 Vue 大行其道,大部分開發場景直接使用 @click 就實現了事件綁定,可能都沒思索過 JS 中的事件性能優化。

      事件委托原理

      事件委托 其主要是利用了事件冒泡這個特性。

      以點擊事件 click 為例:將事件綁定在父元素上,點擊子元素會通過冒泡的方式觸發父元素的點擊事件。這種綁定事件的方式,就稱之為 事件委托,也稱為 事件代理

      示例

      利用事件委托實現點擊 span 元素輸出 span 元素內容:

      <ul class="parent">
        <div>div 內容</div>
        <li>第 1 個 li <span>第 1 個 span 內容</span></li>
        <li>第 2 個 li <span>第 2 個 span 內容</span></li>
        <li>第 3 個 li <span>第 3 個 span 內容</span></li>
        <li>第 4 個 li <span>第 4 個 span 內容</span></li>
        <li>第 5 個 li <span>第 5 個 span 內容</span></li>
        <li>第 6 個 li <span>第 6 個 span 內容</span></li>
        <li>第 7 個 li <span>第 7 個 span 內容</span></li>
        <li>第 8 個 li <span>第 8 個 span 內容</span></li>
      </ul>
      
      <script>
        (() => {
          const parent = document.querySelector('.parent')
          parent.addEventListener('click', (event) => {
            const target = event.target
            // 判斷事件響應元素是否是 span
            if (target.tagName.toLocaleLowerCase() === 'span') {
              console.log(target.innerText)
            }
          })
        })()
      </script>
      

      效果:

      點擊 div 和 li 元素都不會觸發事件,點擊 span 元素會在控制臺輸出元素內容。

      75-1

      優點

      1、由于 JS 綁定的事件只有一個父元素,所以節省了內存。
      2、無需針對每一個子元素綁定事件,所以減少了子元素的事件注冊。
      3、對于子元素的增刪改不用再新注冊事件,所以對子元素的操作要簡單很多。
      4、對于存在大量子元素的頁面,由于減少了事件注冊次數,所以可以提高頁面性能。

      缺點

      既然事件委托那么有用,那么能不能直接將頁面上所有的事件都委托到 body 元素上?

      這想法很豐滿,但顯示很骨感啊,這種情況如果都綁定到最頂層的元素上,那么會導致所有的子元素都會事件冒泡,然后觸發頂層元素的事件,這樣反而無法做到性能優化,還造成了一些不必要的浪費,畢竟不是所有的子元素都需要響應事件!!

      寫在最后

      性能優化這條路上,一直都存在各種話題,很多性能優化都是過猶不及,適當的場景用適當的方式才是最合理的。

      代碼編寫并不是一蹴而就,很多時候,能實現功能就是好代碼,至于性能,在一些小的需求場景,您寫的代碼可能都無法觸發性能問題~~

      堅持一個原則:不要過早優化。當我們的代碼確實觸發了性能問題,再考慮如何優化吧~~

      posted @ 2025-07-03 09:27  前端路引  閱讀(614)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 亚欧洲乱码视频一二三区| 国产丝袜在线精品丝袜不卡 | 日本免费观看mv免费版视频网站| 起碰免费公开97在线视频| 性XXXX视频播放免费直播| 欧美激情 亚洲 在线| 色综合人人超人人超级国碰| 亚洲中文字幕成人无码| 欧美日本一区二区视频在线观看| 精品国产一区二区三区四区阿崩| 亚洲av中文久久精品国内| 亚洲欧美自偷自拍视频图片| 亚洲精品第一区二区在线| 国产精品成人午夜福利| 五月天天天综合精品无码| 人妻熟女一区无中文字幕| 中文日韩在线一区二区| 伊人成人在线视频免费| 欧美人成精品网站播放| 国产v亚洲v天堂无码久久久| 亚洲成人av免费一区| 人人人澡人人肉久久精品| 国产高清自产拍av在线| 被c到高潮疯狂喷水国产 | 激情内射亚洲一区二区三区 | 亚洲av成人三区国产精品| 黄色三级亚洲男人的天堂| 国产亚洲无日韩乱码| 无码免费大香伊蕉在人线国产| 国产精品福利自产拍在线观看| 免费看黄片一区二区三区| 中文字幕成熟丰满人妻| 色窝窝免费播放视频在线| 新婚少妇无套内谢国语播放| 亚洲精品自产拍在线观看动漫| 亚洲AV天天做在线观看| 亚洲精品天堂一区二区| 蜜臀一区二区三区精品免费| 亚洲大尺度视频在线播放| 久久婷婷大香萑太香蕉AV人| 美女把尿囗扒开让男人添|