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中&quot;/&quot;运算符常见错误
Oct 13 Javascript
单击复制文字兼容各浏览器的完美解决方案
Jul 04 Javascript
Javascript:为input设置readOnly属性(示例讲解)
Dec 25 Javascript
js实现键盘控制DIV移动的方法
Jan 10 Javascript
JavaScript仿静态分页实现方法
Aug 04 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
Vue filter介绍及详细使用
Apr 04 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
May 14 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
Nov 30 Javascript
react用Redux中央仓库实现一个todolist
Sep 29 Javascript
小程序Scroll-view上拉滚动刷新数据
Jun 21 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
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 写文本日志实现代码
2010/05/18 PHP
分享php多功能图片处理类
2016/05/15 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
jQuery中的for循环var与let的区别
2018/04/21 jQuery
微信小程序使用npm支持踩坑
2018/11/07 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
javascript实现留言板功能
2020/02/08 Javascript
python判断windows隐藏文件的方法
2014/03/21 Python
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python中remove函数的踩坑记录
2021/01/04 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
Java如何调用外部Exe程序
2015/07/04 面试题
宣传口号大全
2014/06/16 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
给老师的感谢信
2015/01/20 职场文书
综合素质评价自我评价
2015/03/06 职场文书
小学重阳节活动总结
2015/03/24 职场文书