2、关于事件的冒泡行为

1、事件的冒泡行为

     冒泡呢,简单的意思就是,你本来想只触发一个事件,但是实际上却出发了N个事件。  

  举例来说,有一个元素,如Span,你绑定了一个Click函数;你又为Div绑定了一个Click函数;而这个Span就在Div中,当你点击Span时,同时就会触发Span和Div的Click函数,这就是事件冒泡。

 event.stopPropagation()的作用跟event.cancleBubble()是一样的,都是用来阻止浏览器默认的事件冒泡行为。

2、事件冒泡的小案例

     2.1 html的代码

<head>
		<meta charset="UTF-8">
		<title>事件的冒泡行为</title>
		<style type="text/css">
			#mydiv {
				border: 1px solid red;
				width: 100px;
				height: 100px;
			}
			
			#myspan {
				border: 1px solid red;
				width: 30px;
				height: 30px;
				position: relative;
				left: 20px;
				top: 30px;
			}
		</style>
	</head>

	<body>
		<div id="mydiv">
			<span id="myspan">我是span</span>
		</div>
	</body>
</html>
      
 2.2 Javascript代码

<script type="text/javascript">
		window.onload = function() {
			var my<span style="font-family: SimSun;">span</span><span style="font-family: SimSun;">= document.getElementById('myspan');</span>
			myspan.onclick = function() {
				/*alert('我是span');*/
				console.log('我是span');
			}
			var mydiv = document.getElementById('mydiv');
			mydiv.onclick = function() {
				/*alert('我是div');*/
				console.log('我是div');
			}
		}
</script>

 2.3 关于事件的冒泡

   当点击span区域时,会触发span的click函数和div上的click函数


3、阻止事件的冒泡传播

  3.1 JavaScript阻止事件冒泡的方法,event.stopPropagation()

<script type="text/javascript">
		window.onload = function() {
			var myspan = document.getElementById('myspan');
			myspan.onclick = function(event) {
				event = event || e;
				alert('我是span');
				console.log('我是span');
				//阻止时间的冒泡传播
				event.stopPropagation();
                               //组织事件冒泡的传播
                               event.cancleBubble=true;
			}
			var mydiv = document.getElementById('mydiv');
			mydiv.onclick = function(event) {
				alert('我是div');
				console.log('我是div');
			}
			}
</script>

  

 




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值