JS冒泡事件解决方案
来源:互联网 发布:淘宝网怎么盈利 编辑:程序博客网 时间:2024/06/08 11:46
何为冒泡事件。
就是当设定了多个div的嵌套时;即建立了父子关系,当父div与子div共同加入了onclick事件时,当触发了子div的onclick事件后,子div进行相应的js操作。但是父div的onclick事件同样会被触发。这就造成了事件的多层并发,导致了页面混乱。这就是冒泡事件。
消除冒泡事件的方法
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
就是当设定了多个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" onclick="alert(this.id)" style="width:250px;background-color:yellow"> <p> This is parent1 div. </p> <div id="child1" onclick="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" onclick="alert(this.id)" style="width:250px;background-color:cyan;"> <p> This is parent2 div. </p> <div id="child2" onclick="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,这便是应用了阻止冒泡事件的特效的效果.
转自:http://blog.csdn.net/fox123871/article/details/6741243- JS冒泡事件解决方案
- JS冒泡事件解决方案
- JS冒泡事件解决方案
- 关于js中的冒泡事件和html默认事件解决方案
- 事件冒泡的解决方案
- 事件冒泡解决方案
- JS中的事件冒泡
- Js 冒泡事件阻止
- js取消事件冒泡
- 阻止js事件冒泡
- JS 事件冒泡
- js事件冒泡
- JS阻止事件冒泡
- JS阻止事件冒泡
- Js 冒泡事件阻止
- js事件冒泡问题
- JS事件冒泡(阻止
- 什么是JS事件冒泡?
- 用递归计算C(m,n)
- 分桶法和平方分割(对区间的操作)
- Ajax的工作原理
- POJ 1144 && UVA 315 ——无向连通图求割顶
- UNIX网络编程初步
- JS冒泡事件解决方案
- 电子研发联盟-多功能数字调频收音机
- Sprite Kit 动作系统
- android开发出现R cannot be resolved to a variable 问题解决办法之一
- TTL电平,CMOS电平
- jstl 获取Parameter参数 , switch使用
- 在C#中利用SQL语句与数据库进行操作
- VS2010 编译安装Boost库
- 备忘录模式(Memento)