JQuery中的事件冒泡和阻止事件的传播行为

之前的这篇博客详细地介绍了javascript中的事件冒泡和事件捕获,以及DOM事件流。现在我们来看下,JQuery框架中的事件冒泡问题,以及如何阻止事件的传播行为。

 

1、JQuery中的事件绑定,都是属于事件冒泡。

这篇博客介绍了JQuery中绑定事件处理函数的几种方式,从中可以看到:这几种绑定方式,都不允许我们传递事件类型(是事件冒泡,还是事件捕获)。而javascript原生提供的addEventListener()则允许我们设置事件的类型。

<script>
	
	$(function(){
	
		$("#outA").click(function(){
			alert("A");
		});
		
		$("#outB").click(function(){
			alert("B");
		});
		
		$("#outC").click(function(){
			alert("C");
		});	
	});
	
</script>

<body>
	<div id="outA" style="width:400px; height:400px; background:#CDC9C9;position:relative;">
		<div id="outB" style="height:200; background:#0000ff;top:100px;position:relative;">
			<div id="outC" style="height:100px; background:#FFB90F;top:50px;position:relative;"></div> 
		</div>
	</div>
</body>


点击outC的时候,依次打印出C-->B-->A,很明显这是属于事件冒泡。

 

2、阻止事件传播的2种方式。

方式1:使用event对象的stopPropagation()函数,这种做法与javascript中一致。

$("#outC").click(function(event){
	event.stopPropagation();
});


方式2:事件处理函数的返回值false,javascript中的addEventListener没有这个功能。

$("#outC").click(function(event){
	return false;
});	


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值