关于js事件冒泡、阻止事件冒泡

关于js事件冒泡、阻止事件冒泡

一、事件冒泡

    当事件发生后,这个事件就要开始传播(从里到外或者从外向里)。为什么要传播呢?因为事件源本身(可能)并没有处理事件的能力,即处理事件的函数(方法)并未绑定在该事件源上。例如我们点击一个按钮时,就会产生一个click事件,但这个按钮本身可能不能处理这个事件,事件必须从这个按钮传播出去,从而到达能够处理这个事件的代码中(例如我们给按钮的onclick属性赋一个函数的名字,就是让这个函数去处理该按钮的click事件),或者按钮的父级绑定有事件函数,当该点击事件发生在按钮上,按钮本身并无处理事件函数,则传播到父级去处理。(简洁一点就是:当我们点击一个控件的时候,如果包括这个控件的父控件也有click事件,则会继续执行。)

( 事件冒泡用图形表示就如以上所示 )

二、解决冒泡事件

我举下面例子实现的功能就是点击最上边的小盒子div弹出一个弹出框,然后点击下边的大盒子div弹出一个弹出框,最后点击body内容区弹出一个弹出框,那么阻止冒泡事件后顺序,就如语言描述点击顺序一样

首先我在页面上写两个盒子如下代码:

(一个盒子包含一个盒子)

然后获取两个盒子的id


(获取两个盒子id)

给盒子加点击事件,这时你会发现出现冒泡事件,(在这里我直接把阻止事件冒泡的解决方案写出来)重点也标注出来了


(上边标记的就是阻止冒泡的重要代码)

(以上就是我今天给大家分享了简洁明了的方法(阻止事件冒泡)!)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,581评论 1 11
  • 事件流 JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互...
    DHFE阅读 857评论 0 3
  • 这个问题也是老生常谈了,写这篇文章的主要目的是进行下梳理,了解自己知识点的掌握程度,也希望对大家有所帮助。 在说如...
    一木_qintb阅读 4,334评论 1 4
  • Dom事件 事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信。DOM支持大量的事件 (一) Eve...
    woow_wu7阅读 1,822评论 0 1
  • 离开杭州已一年有余,我常常想起夕阳西下时西湖那金光闪闪波光粼粼的湖面,想起三月柳絮飘飞时大运河旁的杨柳依依,想起冬...
    筑梦飞舞阅读 425评论 6 1