[JS]事件冒泡和事件委派

事件冒泡

上图说明两个概念
在这里插入图片描述

  • 捕获事件
    • 解释 从document到触发事件的那个节点,即自上而下的去触发事件,直到点击的那个节点结束
    • 栗子 设置从捕获事件
      let domDiv = document.getElementById('id')
      domDiv.addEventListener('click',()=>{},true)/**true:给该节点添加一个click事件,并且触发在捕获事件阶段 false:常用的冒泡阶段*/
      
  • 冒泡事件
    • 解释 从点击的节点开始自下而上的去触发事件,直到document结束
    • 栗子 设置冒泡事件
      let domDiv = document.getElementById('id')
      domDiv.addEventListener('click',()=>{},false)/**true:给该节点添加一个click事件,并且触发在捕获事件阶段 false:常用的冒泡阶段*/
      
    • 阻止冒泡
      let domDiv = document.getElementById('id')
      domDiv.addEventListener('click',(event)=>{     
      	event.stopPropagation() 
      	/**
      		阻止冒泡 event.stopPropagation(); or return false;
      		return false; 在此处分别指:event.preventDefault()阻止默认行为 和 event.stopPropagation();阻止冒泡 两种行为指令
      	*/
      },false)
      

事件委派

概念

  • 当有多个列表元素需要绑定事件时,一个一个去绑定即浪费时间,又不利于性能,这时候就可以用到事件委托,给他们的一个共同父级元素添加一个事件函数去处理他们所有的事件情况。

使用方式

  • 在事件对象Event.target可以获取到指定属性类判断用户点击的节点来进行业务逻辑处理
    event.target.nodeName   //获取事件触发元素标签name(li,p…)
    event.target.id      //获取事件触发元素id
    event.target.className  //获取事件触发元素classname
    event.target.innerHTML  //获取事件触发元素的内容(li)
    
微信扫一扫,免费保护车主号码隐私挪车码即可到手免费使用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值