事件冒泡

定义:当在有包含关系的DOM层级上绑定事件时,事件会按照DOM层级结构顺序从内到外依次触发,这就是“事件冒泡”。


实例:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>事件冒泡</title>
	<style type="text/css">
	    #parentDiv{
	    	width:400px;
	    	height:400px;
	    	background-color:#7FFF00;
	    }
	    #childDiv{
	    	width:200px;
	    	height:200px;
	    	background-color:yellow;
	    	margin:50px auto;
	    }
	</style>
	<script type="text/javascript" src="jquery-3.1.1.js"></script>
	<script type="text/javascript">
	    $(function(){
             $("#parentDiv").bind("click",function(){
                    alert("parentDiv被点击了");
             });
             $("#childDiv").bind("click",function(event){
                    alert("childDiv被点击了");
                    event.stopPropagation();   // 停止事件冒泡    
             });
             $("body").bind("click",function(){
             	    alert("body被点击了");
             });
	    });
	</script>
</head>
<body>
	<div id="parentDiv">
	     这是parentDiv里的内容
         <div id="childDiv">
              这是childDiv里的内容
         </div>
         这是parentDiv里的内容
	</div>
    

</body>
</html>

p.s.代码说明:

a、style标签里面是定义的css样式
b、

 $("#parentDiv").bind("click",function(){
                    alert("parentDiv被点击了");
             });
给id=parentDiv的标签的click行为绑定一个匿名的function,一点击id=parentDiv的标签就会alert一句"parentDiv被点击了"

点击parentDiv部分会先弹出一句提示框“parentDiv被点击了”,确定后又弹出一个提示框“body被点击了”。因为parentDiv是在body里面的内容所以会先提示”parentDiv被点击了“,再提示“body被点击了”,这就是事件冒泡的现象。


但是点击childDiv就不会有这个现象,只会弹出一个提示框"childDiv被点击了",因为给他绑定click的时候,多写了一句:

event.stopPropagation(); 
这个方法是来停止冒泡事件的。所以对childDiv而言不会冒泡


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值