JavaScript DOM 事件流

事件流:描述的是从页面中接收事件的顺序,事件发生时在元素节点按照一定的顺序执行就叫做DOM事件流。

1.DOM事件的3个阶段

  1. 捕获阶段
  2. 当前目标阶段
  3. 冒泡阶段

document>html>boby>div (当前阶段)  事件捕获过程

(当前阶段) div>boby >html>document  事件冒泡过程

总结:

js代码只能执行捕获或者冒泡的一个阶段

onclick和attachEevent 只能得到冒泡阶段

addEventListener第三个参数为true表示事件捕获阶段调用程序,如果false表示冒泡阶段调用处理程序

实际开发中一般使用冒泡

没有冒泡的事件:onblur,onfocus,onmouseenter,onmouseleave

2.事件冒泡方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div class="father">
			<div class="son">
				盒子
			</div>
		</div>
		<script type="text/javascript">
			//onclick和attachEvent在冒泡阶段触发
			//冒泡阶段 如果addEventListener第三个参数是false或者省略 
			//son>father>boby>html>document
			var son = document.querySelector('.son');
			给//son注册单击事件
			son.addEventListener('click',function(){
				alert('son');
			},false);
			//给father注册单击事件
			var father = document.querySelector('.father');
			father.addEventListener('click',function(){
				alert('father');
			},false);
			//给document注册单机事件
			document.addEventListener('click',function(){
				alert('document');
			})
		</script>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值