JavaScript 事件委托

1. 事件委托

事件處理程序過多的解決方法就是事件委托,事件委托利用的是事件冒泡。
事件冒泡:事件由最具體的元素接收,然后逐級向上傳播。

<ul id="test">
    <li id="eat">吃飯</li>
    <li id="sleep">睡覺</li>
    <li id="play">打豆豆</li>
</ul>

一般情況下,被點擊后進行相應的操作的事件處理程序如下,我們需要給每一個可點擊的元素添加事件處理程序,但是這種做法會出現需要添加很多的事件處理程序。

    var eat = document.getElementById("eat");
    var sleep = document.getElementById("sleep");
    var play = document.getElementById("play");

    eat.addEventListener("click",function () {
        alert("eat")
    });
    sleep.addEventListener("click",function () {
        alert("sleep")
    });
    play.addEventListener("click",function () {
        alert("play")
    })

改為事件委托之后的處理,只需要在較高的層次中添加一個事件處理程序。

    var list = document.getElementById("test");
    list.addEventListener("click", function (event) {
        switch (event.target.id) {
            case "eat": alert("eat");break;
            case "sleep": alert("sleep");break;
            case "play": alert("play");break;
        }
    });
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 事件委托: 就是利用事件冒泡,只指定一個事件處理程序,就可以管理某一類型的所有事件。原理(借鑒):事件委托是利用事...
    尤樊容閱讀 134評論 0 1
  • 1,什么是事件委托:通俗的講,事件就是onclick,onmouseover,onmouseout,等就是事件,委...
    北方蜘蛛閱讀 210評論 0 1
  • JavaScript事件委托 原理:利用事件的冒泡原理,當你點擊ul>li時,會從最深的節點開始向外傳播li>ul...
    07120665a058閱讀 249評論 0 1
  • 20170121李雪蓮的豐盛日記10 1.【感受自我內在的豐盛】 靈魂的成熟度,就是在幻化無盡的生命里千錘百煉。...
    塵夢雪蓮閱讀 145評論 0 0
  • 打開光盤,書的第六頁,點擊上方小電視,就可以播放歌曲了,今天學唱這首歌
    甜妮兒nancy閱讀 230評論 0 0