jquery中什么是事件冒泡

冒泡事件就是,事件发生后,浏览器通常首先触发事件发生元素上的事件处理程序,然后是它的父元素,父元素的父元素……依此类推, 直到文档的根元素为止。冒泡事件是事件传播的最常见的方式;当处理好一个事件后,如果想要停止事件的传播,不希望它继续冒泡,就要绑定该事件的处理方法。

jquery中什么是事件冒泡

本教程操作环境:windows7系统、jquery3.6.1版本、Dell G3电脑。

什么是事件冒泡

冒泡事件就是,如果在某一个对象上触发某一类事件,那么该事件会向父级传播,并触发父对象上定义的同类事件。事件传播的方向是从最底层到最顶层,类似于水泡从水底浮上来一般。

一个HTML文档可以可视化一个DOM树:

1.png

那么事件冒泡现象就可以形象的表示为下图:

2.png

简单来说:

事件发生后,浏览器通常首先触发事件发生元素上的事件处理程序,然后是它的父元素,父元素的父元素……依此类推, 直到文档的根元素为止。

这被称为事件冒泡,是事件传播的最常见的方式。当处理好一个事件后, 你可能想要停止事件的传播,不希望它继续冒泡。就要绑定该事件的处理方法。

3.png

如上图,给他们都设置一个点击事件,当点击button时即触发button的点击事件时则会触发相应的父元素div发生点击事件,再触发body发生触发事件,以此类推直至document或是window为止。

冒泡举例说明

程序:

4.png

效果:

5.png

当点击three所在的红色盒子的时候,出现弹框three,确定之后又出现弹框two再出现弹框one。

当点击two所在的黄色盒子的时候,出现弹框two,再出现弹框one。

当点击one所在的绿色盒子的时候,只出现弹框one。

即前两种情况都发生了冒泡。

如果有人说是书写的click事件的先后顺序导致的,但是并不是,都是当文档加载结束后执行的。

阻止冒泡的方法:

若想在点击two之后阻止后面继续的冒泡,则添加以下即可

6.png

则之后出现弹框two不再出现弹框one。

jquery阻止事件起泡实例

1、通过返回false来取消默认的行为并阻止事件起泡。

jQuery 代码:

$("form").bind(  "submit",   function() {     return false;   });

登录后复制

2、通过使用 preventDefault() 方法只取消默认的行为。

jQuery 代码:

$("form").bind(  "submit",   function(event){      event.preventDefault();    });

登录后复制

3、通过使用 stopPropagation() 方法只阻止一个事件起泡。

jQuery 代码:

$("form").bind(  "submit",   function(event){      event.stopPropagation();    });

登录后复制

【推荐学习:jQuery视频教程、web前端视频】

以上就是jquery中什么是事件冒泡的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2924534.html

(0)
上一篇 2025年3月11日 18:57:43
下一篇 2025年3月7日 06:23:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • jquery怎么增加父标签

    在jquery中,可以利用wrap()函数来给指定元素增加父标签。增加方法:1、利用jquery选择器选取指定元素对象,语法“$(selector)”;2、使用wrap()函数给获取的元素对象增加一个指定父元素,语法“元素对象.wrap(h…

    2025年3月11日
    200
  • jquery有trim方法吗

    jquery有trim方法。在jquery中,trim()方法用于去除字符串两端的空白字符,会移除字符串开始和末尾处的所有换行符、空格(包括连续的空格)和制表符,语法“$.trim(str)”。trim()方法只能在jQuery3.5前的版…

    2025年3月11日
    200
  • es6增强了哪些功能

    es6增强的功能:1、解构赋值,允许按照一定的模式,从数组或对象中提取值,给变量进行赋值。2、为字符串添加了遍历器接口,使得字符串可以被”for…of循环遍历。3、模板字符串,是增强版的字符串。4、标签模板,是函数调用的一种特殊…

    2025年3月11日
    200
  • es6对象增加新的属性是什么

    es6对象增加新的属性是“name”。name属性可以获取对象上方法(函数)的名字,例“getName() {console.log(this.name);}”;函数直接调用name就会返回函数名,而字面量对象上的方法也是函数,因此也有na…

    2025年3月11日
    200
  • es6 if包裹的变量算块内吗

    es6 if包裹的变量算块内。es6中新增了块级作用域,被“{ }”包裹住的代码就是块级作用域;函数中的“{}”、if语句、for循环内的代码都属于块级作用域,是算在块内的。在es6中,允许块级作用域任意嵌套,外层作用域无法读取内层作用域的…

    2025年3月11日
    200
  • es6箭头方法中this的指向是什么

    在es6中,箭头函数体内的this对象,就是定义该函数时所在的作用域指向的对象。箭头函数中this的指向就是上下文里对象this指向,偶尔没有上下文对象,this就指向window;即使是call、apply、bind等方法也不能改变箭头函…

    2025年3月11日
    200
  • es6有闭包吗

    es6有闭包。在es6中,在一个函数内部创建另一个函数,把内嵌的函数称为闭包,它可以访问外部函数的局部变量;简单来说,闭包指有权访问另一个函数作用域中变量的函数。闭包的主要作用:延伸了变量的作用范围。由于闭包会使得函数中的变量都被保存在内存…

    2025年3月11日
    200
  • jquery类选择器返回的是什么

    在jquery中,类(class)选择器用于选取带有指定class值的所有元素,可以返回包含全部指定class元素的jquery集合对象,语法为“$(“.class”)”;class属性用于为多个HTML元素设置特定…

    2025年3月11日
    200
  • jquery中属于鼠标的事件方法有哪些

    jquery中属于鼠标的事件方法有:1、Click(),可以触发鼠标左键单击事件;2、contextmenu(),可以触发鼠标右键单击事件;3、dblclick(),可触发鼠标双击事件;4、mousedown(),可触发鼠标按下事件;5、m…

    2025年3月11日
    200
  • jquery怎么添加类和移除类

    jquery中可用addClass()和removeClass()来添加类和移除类。addClass()向被选元素添加一个或多个类,语法“$(selector).addClass(类名)”,如需添加多个类,就使用空格分隔类名。removeC…

    2025年3月11日
    200

发表回复

登录后才能评论