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;
        }
    });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 事件委托: 就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。原理(借鉴):事件委托是利用事...
    尤樊容阅读 1,211评论 0 1
  • 1,什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委...
    北方蜘蛛阅读 1,549评论 0 1
  • JavaScript事件委托 原理:利用事件的冒泡原理,当你点击ul>li时,会从最深的节点开始向外传播li>ul...
    07120665a058阅读 1,724评论 0 1
  • 20170121李雪莲的丰盛日记10 1.【感受自我内在的丰盛】 灵魂的成熟度,就是在幻化无尽的生命里千锤百炼。...
    尘梦雪莲阅读 1,301评论 0 0
  • 打开光盘,书的第六页,点击上方小电视,就可以播放歌曲了,今天学唱这首歌
    甜妮儿nancy阅读 1,639评论 0 0

友情链接更多精彩内容