关于js中的冒泡事件
js冒泡事件
前几天在老大那里接触到了js的一个新的单词:冒泡事件;
何为冒泡事件。
就是当设定了多个div的嵌套时;即建立了父子关系,当父div与子div共同加入了onclick事件时,当触发了子div的onclick事件后,子div进行相应的js操作。但是父div的onclick事件同样会被触发。这就造成了事件的多层并发,导致了页面混乱。这就是冒泡事件。
消除冒泡事件的方法
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
下面的一段代码即可以很好的解释是么是冒泡效果,什么叫消除冒泡效果
<html>
<head>
<title> 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)</title>
<meta name="keywords" content="JavaScript,事件冒泡,cancelBubble,stopPropagation" />
<script type="text/javascript">
function doSomething (obj,evt) {
alert(obj.id);
var e=(evt)?evt:window.event; //判断浏览器的类型,在基于ie内核的浏览器中的使用cancelBubble
if (window.event) {
e.cancelBubble=true;
} else {
//e.preventDefault(); //在基于firefox内核的浏览器中支持做法stopPropagation
e.stopPropagation();
}
}
</script>
</head>
<body>
<div id="parent1" οnclick="alert(this.id)" style="width:250px;background-color:yellow">
<p>This is parent1 div.</p>
<div id="child1" οnclick="alert(this.id)" style="width:200px;background-color:orange">
<p>This is child1.</p>
</div>
<p>This is parent1 div.</p>
</div>
<br />
<div id="parent2" οnclick="alert(this.id)" style="width:250px;background-color:cyan;">
<p>This is parent2 div.</p>
<div id="child2" οnclick="doSomething(this,event);" style="width:200px;background-color:lightblue;">
<p>This is child2. Will bubble.</p>
</div>
<p>This is parent2 div.</p>
</div>
</body>
</html>
把代码直接复制后,打开当点击child1时不仅会弹出 child1 对话框还会弹出 parent1
这就是冒泡事件
但是单击chile2只会弹出child2却不会弹出 parent2,这便是应用了阻止冒泡事件的特效的效果.
关于js中的冒泡事件相关推荐
- JS中阻止冒泡事件的三种方法
冒泡事件:比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发.这一过程被称为事件冒泡. <div class="box"><button c ...
- 六十二、Js中的冒泡和捕获点击事件和Vue组件绑定原生事件
2020/10/18 . 周日.今天又是奋斗的一天. @Author:Runsen @Date:2020/10/18 写在前面:我是「Runsen」,热爱技术.热爱开源.热爱编程.技术是开源的.知识是 ...
- JS中的click事件无反应
JS中的click事件无反应 今天在一个js文件中写了一个click函数,结果在页面中点击后死活没有反应,各种检查之后代码也没问题,就是无法触发click函数.各种百度之后终于找到了问题所在:在点击的 ...
- JS中常用的事件操作
JS中常用的事件操作 前言 一.点击事件(导航栏内容切换功能) 二.移入移出事件(导航栏菜单下拉功能) 三.失去焦点事件(表单检验功能) 四.鼠标事件(鼠标跟随功能) 五.键盘事件(打飞机案例) 总结 ...
- js中的onclick事件在ul获取li时点击两次才会执行的原因
js中的onclick事件在ul获取li时点击两次才会执行的原因 下面的代码中 只有onclick第二次才会执行函数内部的代码 代码实例如下: <!DOCTYPE html> <ht ...
- 如何调试JS中鼠标悬停事件影响的元素?
如何调试JS中鼠标悬停事件影响的元素? 在日常的前端开发中,我们经常要调试许多其他开发者写的网站和代码.此时我们往往会打开浏览器的开发者工具,在 Elements,Console,Network,So ...
- js中的onchange事件
js中的onchange事件 刚开始接触 onchange 事件就开始幻想能做很多炫酷的事情,但是初学JS时知识不够全面,力不从心.对于onchange事件还不够了解. onchange事件被描述为 ...
- JS中哪些常用事件可以冒泡
总结JS中的一些常用事件是否可以冒泡. 事件 是否可以冒泡 click √ dbclick √ keydown √ keyup √ mousedown √ mousemove √ mouseout √ ...
- js中的DOM事件之冒泡和捕获事件详解
DOM中的事件是一个很中要的东西,它可以让用户和浏览器之间进行交互,以此来实现人机交互效果 DOM事件 DOM事件分为DOM0级事件和DOM2级事件.DOM0级其实不存在,我们把DOM最初的版本叫0级 ...
- js jquery阻止冒泡事件
event.stopPropagation(); -- 阻止元素冒泡事件 注:嵌套元素一般都存在冒泡事件,会带来某些影响 例:<div id="c1" οnclick=& ...
最新文章
- stackoverflow国内被墙的打开办法
- document.forms用法示例介绍
- Flink 如何实时分析 Iceberg 数据湖的 CDC 数据
- jdbc-------JDBCUtil类 工具类
- Java开发中学用eclipse code templates
- 微信小程序项目实例——图片处理小工具(自制低配版美图秀秀)
- 126套Unity3D视频教程全集(包含入门、编程、特效、UI、动画、实战等等)
- 「图像处理」C#+AForge.Net+DlibDotNet实现人脸识别
- 高速接口----JESD 204B(1)
- 电子计算机出现的背景,世界第一台电子计算机产生的背景是什么
- 在edge中使用IE兼容性视图的设置方法|Win10 Win11
- 回归分析-线性回归-检验-模型
- html中颜色取样器工具,photoshop基础教程:颜色取样器工具的使用详解
- PHPExcel出现 Formula Error的解决方案
- 2020.04.01 【ABAP随笔】- ABAP面试分享
- java程序编译错误属于异常吗_“Cannot find symbol”编译错误是什么意思?
- VScode必备插件、Emmet语法、面试题更新——用到老
- Kotlin进行数据存储
- tf.keras.activation.selu()
- 数据结构与算法之图的应用
热门文章
- java中方法体的作用
- python marshal 对象序列化和反序列化
- Windows Phone开发(6):处理屏幕方向的改变 转:http://blog.csdn.net/tcjiaan/article/details/7273107...
- IT工作者要保护自己的头发啊..
- Oracle中的sql操作符 和分析函数
- TrackBar问题,有高人能解决吗?
- P1330 阳光封锁大学
- form表单提交和重置小结
- JS倒计时特效--JavaScript基础
- php没有输出报错信息的解决