• 浅谈事件冒泡前世今生


    前世

    事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生顺序)的问题

    原理:

    1、加入冒泡机制是因为存在这个现象 子元素存在于父级元素,你点击子元素也是相当于点击了父元素,然后冒泡机制可用于事件委托,优化性能,比如长列表绑定事件

    如所说的长列表绑定,笨的做法:每个li上绑定事件,li触发事件,如果1kw条数据,这种做法肯定是不科学的。

    所以,优化性能的时候,将事件绑定在ul上,加入冒泡机制,代码量变少、性能又好

    2.事件冒泡:
    所谓的时间冒泡就是当一个元素触发一个事件,事件会像是水泡一样,从触发元素向它的所有父节点传播,一直到根节点都会接收到此事件,如果父元素中注册了相应的事件处理函数,那么尽管事件在子节点触发的,在父元素上注册的事件处理函数同样会被触发。

    比如这次是为了实现点击相应行政区区域图,弹出窗口显示相应的查询数据,结果再给

    行政区域绑定监听点击事件时,触发了两次,因为行政区域图是在map地图里的一块区域,这就引发了事件冒泡,从里层(行政区域图)向外层,依次触发点击事件了,比如之前代码如下:

    1. const initMap = () => {
    2. //首先初始化父级地图
    3. const map = new BMapGL.Map("myMap");
    4. let label = new BMapGL.Label(null);
    5. let x =
  • 相关阅读:
    java中方法引用
    50etf期权的隐含波动率是什么意思?最通俗易懂的解释!
    Java基础 --- 创建线程
    一文带你解决Ajax!
    非常经典的Oracle基础知识
    Go语言入门心法(十一): 文件处理
    《天天数学》连载54:二月二十三日
    docker 安装redis(最新版)
    18亿欧元大动作,法国瞄准实现量子飞跃
    移位操作搞定两数之商
  • 原文地址:https://blog.csdn.net/weixin_38225763/article/details/134074570