首頁 > web前端 > 前端問答 > javascript事件委託是什麼

javascript事件委託是什麼

青灯夜游
發布: 2023-01-04 09:34:45
原創
2674 人瀏覽過

在javascript中,事件委託就是利用冒泡的原理,將事件加到父元素或祖先元素上,觸發執行效果。事件委託的優點:1、可以提高JS效能;2、可以動態加入DOM元素,不需要因為元素的變動而修改事件綁定。

javascript事件委託是什麼

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

1、什麼是事件委託?

事件委託就是利用冒泡的原理,將事件加到 父元素 或 祖先元素上,觸發執行效果。

範例:在document 中綁定click 事件,當click 的物件為按鈕btn 時,彈框顯示按鈕btn的值

<body>

<button id="btn" value="嘿嘿">哈哈</button>

<script>
  window.onload=function () {

    let btn=document.getElementById("btn")
    document.onclick=function (e) {
      // console.log(e.target)
      if(e.target===btn){
        alert(btn.value)
      }
    }

  }
</script>
</body>
登入後複製

javascript事件委託是什麼

#2、事件委託的優點

(1)可以提高JS 效能

範例:在ul 上創建100 個li,點選每個li 都要彈框顯示該li 的value

傳統寫法:在每個li 上都綁定onclick 事件,並觸發alert 事件

事件委託:在document 上綁定onclick 事件,當觸發onclick 事件後,判斷是不是

  • 標籤,如果是,則alert
  • 標籤的值。

    (2)可以動態加入 DOM 元素,不需要因為元素的變動而修改事件綁定。

    3、事件委託需要注意的地方

    #事件委託綁定的元素,最好是被監聽元素的父元素,如

  • 上面的
      、 上面的 等。

      因為 事件冒泡 的過程也要耗時,越接近頂層,事件的「事件傳播鏈」就越長,也越耗時。

      4、事件冒泡和事件捕獲

      javascript事件委託是什麼

      #如圖,事件冒泡是從子元素向父元素傳遞事件,一層一層,事件委託就是利用了冒泡原理;事件捕獲是從DOM 最高層物件一層一層往子元素傳播。

      更多程式相關知識,請造訪:程式設計影片! !

  • 以上是javascript事件委託是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板