jquery入门——事件机制之事件中的冒泡现象示例解释


Posted in Javascript onSeptember 12, 2020

1、当用户浏览页面时,浏览器会对页面代码进行解释或编译——这个过程实质上是通过事件来驱动的,即页面在加载时,执行一个Load事件,在这个事件中实现浏览器编译页面代码的过程。事件被触发后被分为两个阶段,一个是捕获(Capture),另一个是冒泡(Bubbing),但大多浏览器并不是都支持捕获阶段,因此事件被触发后,往往执行冒泡过程。

2、示例代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<title>事件中的冒泡现象</title> 

<script type="text/javascript" src="jquery-1.8.3.min.js"></script> 

<script type="text/javascript"> 

$(function(){ 

var intI=0; 

$("body,div,#btnShow").click(function(event){ 

intI++; 

$(".clsShow").show().html("您好,欢迎来到JQuery世界!").append("<div>执行次数"+intI+"</div>"); 

}) 

}); 

</script> 

</head> 

<body> 

<div> 

<input id ="btnShow" type="button" value ="点击" class ="btn"/> 

</div> 

<div class ="clsShow"></div> 

</body> 

</html>

3、效果图预览:

jquery入门——事件机制之事件中的冒泡现象示例解释
点击后:
jquery入门——事件机制之事件中的冒泡现象示例解释
点击一次后,显示执行的次数是3次,这是因为事件在执行过程中存在冒泡现象,即虽然单击的是按钮,但按钮外围的<div>元素的事件也被触发,同时<div>元素外围的<body>元素的事件也被触发,整个过程为冒泡过程。如何阻止冒泡过程的发生,可以通过stopPropagation()方法或return false来实现,修改代码为:

<script type="text/javascript"> 

$(function(){ 

var intI=0; 

$("body,div,#btnShow").click(function(event){ 

intI++; 

$(".clsShow").show().html("您好,欢迎来到JQuery世界!").append("<div>执行次数"+intI+"</div>"); 

//event.stopPropagation(); 阻止冒泡过程 

return false; 

}) 

}); 

</script>

效果图如:
jquery入门——事件机制之事件中的冒泡现象示例解释
点击后
jquery入门——事件机制之事件中的冒泡现象示例解释
Javascript 相关文章推荐
javascript radio 联动效果
Mar 04 Javascript
javascript中String对象的slice()方法分析
Dec 20 Javascript
jQuery实现的图片分组切换焦点图插件
Jan 06 Javascript
js拖拽的原型声明和用法总结
Apr 04 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
May 26 Javascript
原生的强大DOM选择器querySelector介绍
Dec 21 Javascript
jquery实现轮播图效果
Feb 13 Javascript
JavaScript实现无刷新上传预览图片功能
Aug 02 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
微信小程序批量上传图片到七牛(推荐)
Dec 19 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
Jul 17 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
Feb 05 #Javascript
JQuery入门——用映射方式绑定不同事件应用示例
Feb 05 #Javascript
JQuery入门——事件切换之hover()方法应用介绍
Feb 05 #Javascript
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 #Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 #Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 #Javascript
jquery 卷帘效果实现代码(不同方向)
Feb 05 #Javascript
You might like
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
php 文章调用类代码
2011/08/11 PHP
PHP数组操作类实例
2015/07/11 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
Vue中render方法的使用详解
2018/01/26 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
python常用运维脚本实例小结
2020/02/14 Python
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
硕士研究生个人求职信
2013/12/04 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python