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 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
javascript中利用数组实现的循环队列代码
Jan 24 Javascript
根据出生日期自动取得星座的js代码
Jul 20 Javascript
为原生js Array增加each方法
Apr 07 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
echarts实现词云自定义形状的示例代码
Feb 20 Javascript
vue的列表交错过渡实现代码示例
May 05 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
Vue项目开发常见问题和解决方案总结
Sep 11 Javascript
微信小程序实现列表左右滑动
Nov 19 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
javascript中对对层的控制
2006/12/29 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
layui的select联动实现代码
2019/09/28 Javascript
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
Python实战之制作天气查询软件
2019/05/14 Python
django-filter和普通查询的例子
2019/08/12 Python
Python基础之变量基本用法与进阶详解
2020/01/03 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
python中安装django模块的方法
2020/03/12 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
培训专员岗位职责
2014/02/26 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
初中班级口号
2014/06/09 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
秦兵马俑导游词
2015/02/02 职场文书
爱国教育主题班会
2015/08/14 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
MySQL创建定时任务
2022/01/22 MySQL
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers
git中cherry-pick命令的使用教程
2022/06/25 Servers