为了账号安全,请及时绑定邮箱和手机立即绑定

什么是冒泡处理?

冒泡现象其实可以理解为:遇到“问题”找“爸爸”。

 

正在回答

7 回答

这个老师解释的不太好!!!!!

0 回复 有任何疑惑可以回复我~

你们的思维应该反过来思考,不是遇到问题找爸爸,冒泡本质是子孙继承问题,有冒泡就是继承,没冒泡就是不继承

0 回复 有任何疑惑可以回复我~

案例里抛开根本性的东西去扯表面的现象,我觉得有点舍本逐末。

0 回复 有任何疑惑可以回复我~

我有一点我最基本的理解就是,focus,blur是表单事件,说白了只有表单控件如input,textarea上才可以添加,而表单空间之间几乎不存在父子嵌套的关系,所以谈不上会引发冒泡事件,像div,p等其他的html元素是不可以添加这个事件的,那么,也就谈不上子元素父元素之间的事件相互激发,谈不上冒泡了。。focusin ,focusout是鼠标事件,可以添加在任何html元素上的,而很明显的html元素会存在嵌套关系,比如div里装一个表单控件input,那么一旦div 和input上都有focusin事件,点击input子元素的时候,肯定会触发父元素div上的冒泡事件。


一句话:究其根本是:focus  blur 是存在于几乎无嵌套关系的表单控件上,不存在冒泡事件

focusin  focusout是存在所有html元素上的,有嵌套关系的元素就可以引发冒泡事件。

2 回复 有任何疑惑可以回复我~

冒泡就是给子元素绑定的事件,父元素,祖先元素也会触发,相当于鱼吐泡泡,向上传递

捕获则相反,给父元素绑定的事件,子元素也会触发

0 回复 有任何疑惑可以回复我~

我感觉冒泡现象说的少了一个方面,是有问题找爸爸,这是一个方面,但是如前面的mouseover,mouseout和mouseenter和mouseleave,如果mouseover父子同时有的话,在子元素上移动就都执行,mouseenter就只执行子元素,这里说的focus如果子元素有focus ,父元素有focusin,在子元素上聚焦就会都执行 ,如果focusin在子元素上,父元素也有,就都执行,如果是focus 就只执行自己(前提是父元素上没有focusin,有没有focus无所谓),简单的说就是如果父子都有这个事件,在子元素上触发,父元素和子元素的事件都会触发

1 回复 有任何疑惑可以回复我~

冒泡现象其实可以理解为:遇到“问题”找“爸爸”。

 “问题”:就是一些特定的事件。 

“爸爸”:就是父级元素。 

举例:focusin案例中第二个绿盒子里的input元素被我们点击时,就触发了focusin事件。

 但是input表示:我很方啊,我没有这个事件的处理方法啊!咋整?找老爸,问他有没有!

 绿盒子老爸说:莫方,我有,让我来! 最终就调用了绿盒子老爸的方法。

 PS:如果绿盒子老爸自己也没有呢?他会问他的老爸,以此类推,一直问到老祖宗window,都没有的话就只好啥也不做啦!


11 回复 有任何疑惑可以回复我~
#1

中国米线

如果他老爸和他爷爷都有呢,执行哪个
2018-04-07 回复 有任何疑惑可以回复我~
#2

慕UI6248976 提问者 回复 中国米线

他爸已经能解决了就不会问爷爷了
2018-04-09 回复 有任何疑惑可以回复我~
#3

反叛者rebel 回复 慕UI6248976 提问者

不是吧 是会一直冒泡到最顶吧 不会中途停止的吧
2018-07-06 回复 有任何疑惑可以回复我~
#4

慕无忌4172087 回复 中国米线

都执行
2020-04-01 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
jQuery基础(三)—事件篇
  • 参与学习       89996    人
  • 解答问题       625    个

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

进入课程

什么是冒泡处理?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信