事件冒泡、事件捕获与事件监听

事件冒泡与事件捕获

页面和互动是通过事件来完成的,
事件捕获是指从document一直到触发事件的节点
事件冒泡则是从触发事件的事件源一直向上到document(好比气泡一直往水面冒,事件往父级元素方向冒)[^冒泡的只是事件,并不事件绑定的处理函数。]不管是父级以上元素是否绑定了事件,冒泡都是存在的,只有人为手动的添加代码去阻止。

**阻止事件冒泡的方法:**在执行函数中添加代码event.stopPropagation( );
**阻止默认事件的方法:**在执行函数中添加代码event.preventDefault


事件监听

事件监听与普通时间绑定的区别:

  1. 普通的事件绑定只能给元素的相同事件绑定一个函数,如果绑定第二个则会将前一个覆盖,而事件监听可以给元素绑定多个函数
  2. 事件监听可以控制事件的传播方式(事件冒泡/事件捕获)
  3. 事件监听可以通过删除来取消事件监听,普通事件只能使用null取消
绑定事件监听的方法:

元素.addEventListener(事件类型,执行函数,执行阶段);
box.addEventListener("click",move,false);

执行阶段:true表示事件捕获,false表示事件冒泡,默认使用事件冒泡

删除事件绑定的方法:

元素.removeEventListener(事件类型,绑定的执行函数,执行阶段);
box.removeEventListener("click",move,false)

删除事件监听需要注意:

  1. 元素与想要删除的元素相同,即相同的元素调用
  2. 删除的事件名称要与绑定的事件名称一致
  3. 函数名需要相同(匿名函数不行,需要全局函数)
  4. 相同的执行阶段

以上同时满足,才能删除事件绑定

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值