什么是冒泡处理?

来源:3-1 jQuery表单事件之blur与focus事件

慕UI6248976

2018-03-27 16:54

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

 

写回答 关注

7回答

  • 慕无忌4172087
    2020-04-01 03:34:28

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

  • 慕无忌4172087
    2020-04-01 03:33:42

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

  • 回头看我漂亮的坚持
    2019-06-18 21:02:05

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

  • 回头看我漂亮的坚持
    2019-06-18 20:58:18

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


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

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

  • Lucky呀
    2018-09-22 10:45:15

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

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

  • Pruett
    2018-06-01 11:13:59

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

  • 慕UI6248976
    2018-03-27 16:54:40

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

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

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

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

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

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

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


    慕无忌417... 回复中国米线

    都执行

    2020-04-01 03:32:39

    共 4 条回复 >

jQuery基础(三)—事件篇

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

89997 学习 · 625 问题

查看课程

相似问题