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语言本身谈项目实战
Dec 27 Javascript
js中判断控件是否存在
Aug 25 Javascript
jquery命令汇总,方便使用jquery的朋友
Jun 26 Javascript
jquery中加载图片自适应大小主要实现代码
Aug 23 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
原生JavaScript制作微博发布面板效果
Mar 11 Javascript
基于node实现websocket协议
Apr 25 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
Vue.js标签页组件使用方法详解
Oct 19 Javascript
javascript 原型与原型链的理解及实例分析
Nov 23 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
fgetcvs在linux的问题
2012/01/15 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
golang与PHP输出excel示例
2016/07/22 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
python实现在windows下操作word的方法
2015/04/28 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python多线程同步之文件读写控制
2021/02/25 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
详解Python高阶函数
2020/08/15 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
计算机系毕业生推荐信
2013/11/06 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
大学新生军训感言
2014/02/25 职场文书
3的组成教学反思
2014/04/30 职场文书
经典演讲稿汇总
2014/05/19 职场文书
工程项目经理任命书
2014/06/05 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server