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_02_理解undefined和null
Oct 11 Javascript
js怎么覆盖原有方法实现重写
Sep 04 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
Sep 05 Javascript
原生js实现autocomplete插件
Apr 14 Javascript
JS表格组件神器bootstrap table详解(强化版)
May 26 Javascript
Bootstrap基本布局实现方法详解
Nov 25 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
微信小程序多列选择器range-key使用详解
Mar 30 Javascript
JavaScript使用类似break机制中断forEach循环的方法
Nov 13 Javascript
koa2实现登录注册功能的示例代码
Dec 03 Javascript
在layui中select更改后生效的方法
Sep 05 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
PHP多个版本的分析解释
2011/07/21 PHP
浅析PHP中strlen和mb_strlen的区别
2014/08/31 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
PDO::exec讲解
2019/01/28 PHP
jQuery之网页换肤实现代码
2011/04/30 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
人工神经网络算法知识点总结
2019/06/11 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
放飞蜻蜓反思
2014/02/05 职场文书
酒店员工检讨书
2014/02/18 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
解除处分决定书
2015/06/25 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang