谈谈你对js事件触发过程的理解

  1. 简介
    1. 事件流是一个时间沿着特定的数据结构传播的过程,冒泡和捕获是事件在js中的两种不同的传播方式
  2. 事件流一般有三个阶段:
    1. 事件捕获阶段
    2. 目标阶段
    3. 事件冒泡
  3. 事件捕获
    1. 通俗的理解就是,当鼠标点击dom或者触发dom事件时,浏览器会从根节点开始由外到内进行事件传播,即时点击了子元素,如果父元素通过事件捕获的方式注册了对应的事件的话,会先触发父元素绑定的事件
  4. 事件冒泡:
    1. 与事件捕获恰恰相反,事件冒泡循序是由内到外进行事件传播,直到根节点无论是事件捕获还是事件冒泡,它们都有一个共同的行为,就是事件传播
  5. 事件流的阻止
    1. event.preventDefault():取消事件对象的默认动作以及继续传播。
    2. event.stopPropagation()/ event.cancelBubble = true:阻止事件冒泡。
    3. IE下使用 event.returnValue= false
    4. 在非IE下则使用 event.preventDefault()进行阻止
    5. preventDefault告诉浏览器不用执行与事件相关联的默认动作(如表单提交)
    6. stopPropagation是停止事件继续冒泡,但是对IE9以下的浏览器无效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值