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 相关文章推荐
textContent在Firefox下与innerText等效的属性
May 12 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
Sep 06 Javascript
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
纯javascript实现图片延时加载方法
Aug 21 Javascript
JavaScript实现通过select标签跳转网页的方法
Sep 29 Javascript
webpack学习笔记之优化缓存、合并、懒加载
Aug 24 Javascript
微信小程序支付之c#后台实现方法
Oct 19 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
JavaScript引用类型RegExp基本用法详解
Aug 09 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
jQuery轮播图功能制作方法详解
Dec 03 jQuery
Openlayers实现图形绘制
Sep 28 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
十天学会php(2)
2006/10/09 PHP
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Django权限机制实现代码详解
2018/02/05 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python处理“
2019/06/10 Python
python实现数据分析与建模
2019/07/11 Python
python 实现return返回多个值
2019/11/19 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
大学毕业生工作的自我评价
2013/10/01 职场文书
工程预算与管理应届生求职信
2013/10/06 职场文书
教师个人自我鉴定
2014/02/08 职场文书
中药专业自荐信范文
2014/03/18 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python