美文网首页
事件委托/事件代理

事件委托/事件代理

作者: 阿九是只大胖喵 | 来源:发表于2017-03-18 13:59 被阅读0次

什么是事件委托/事件代理?
利用事件的冒泡传播机制(触发当前元素的某一个行为,它父级所有元素相关行为都会被触发),如果一个容器中有很多元素都要绑定点击事件,没有必有一个一个的绑定了,只需要给最外层的容器绑定一个点击事件即可,在这个方法执行的时候,通过事件源的区分来进行不同的操作。

简单应用

<div id="box">
    <span>购物车</span>
    <div id="mark" style="display: none">查看购物车中的详细信息</div>
</div>
<script>
    var mark = document.getElementById('mark');
    document.body.onclick = function (e) {
        e = e || window.event;
        e.target = e.target || e.srcElement;

        // 如果点击的是#box或者#box下的span,判断mark是否显示,显示的话让其隐藏,反之显示
        if (e.target.id === 'box' || e.target.tagName.toLowerCase() === 'span' && e.target.parentNode.id === 'box') {
            if (mark.style.display === 'none') {
                mark.style.display = 'block';
            } else {
                mark.style.display = 'none';
            }
            return;
        }

        // 如果事件源是#mark,不进行任何的操作
        if (e.target.id === 'mark') {
            return;
        }

        // 以上都不是的话,直接让#mark隐藏
        mark.style.display = 'none';
    }
</script>

相关文章

  • 概念

    事件委托,事件代理 事件代理又称之为事件委托。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理...

  • 前端常见面试题(十一)@郝晨光

    什么是事件委托?为什么要用事件委托? 什么是事件委托? 事件委托,又称事件代理,就是将元素的事件处理交由父元素或者...

  • 事件委托

    事件委托 什么是事件委托(事件代理): 事件委托就是利用事件冒泡的原理,将事件注册到父元素上,减少子元素的事件注册...

  • 事件委托(事件代理)

    利用事件的冒泡传播机制(触发当前元素的某个行为,它父级所有的相关行为都会被触发),如果一个容器中很多元素需要绑定事...

  • 事件委托(事件代理)

    链接地址:http://www.cnblogs.com/liugang-vip/p/5616484.htmlhtt...

  • 事件代理/事件委托

    利用事件冒泡机制,通过设置一个事件处理程序,来管理某一类型的所有事件。(例如:取快递、ul-li操作) 1. 取快...

  • 事件委托/事件代理

    什么是事件委托/事件代理?利用事件的冒泡传播机制(触发当前元素的某一个行为,它父级所有元素相关行为都会被触发),如...

  • 事件代理(事件委托)

    事件流 事件从页面中接收事件的顺序 事件捕获 从window对象传到目标节点(上层到下层),成为捕获阶段 事件冒泡...

  • 事件委托(事件代理)

    概念 两者指的是同一件事情,只是角度不同,比如,一个A元素把事件交给父级元素B处理,那么A就是委托方,B就是代理放...

  • 事件委托(事件代理)

    事件委托原理:事件冒泡机制 优点: 1.大量减少内存占用,减少事件注册。 2.新增元素实现动态绑定事件 实现方式:...

网友评论

      本文标题:事件委托/事件代理

      本文链接:https://www.haomeiwen.com/subject/ftbunttx.html