处理事件问题(在事件中分别找出捕获阶段,目标阶段,冒泡阶段)

本文解析了事件流的三个阶段:捕获阶段、目标阶段和冒泡阶段,并通过具体实例介绍了如何使用addEventListener来监听这些阶段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题
外场景中嵌套一个内场景,内场景中嵌套一个子内场景,子内场景中有事件,找出事件流的三个阶段?
知识要点
事件侦听器(addEventListener)事件对象类型(MouseEvent.MouseEvent_XXX)事件流信息(target,currentTarget,bubbles)添加场景(addChild)
解决问题
我们首先创建一个外场景,在外场景中添加一个内场景,在内场景中添加一个子内场景,在子内场景中添加一个侦听器(addEventListener),侦听器的第一个参数是Type(事件对象类型,例如MouseEvent_CLICK),第二个参数是Function(自定义的listener方法,方法中需要有一个参数为event(MouseEvent类型的)),第三个参数是useCapture(默认为false),在listener方法中可以判断目标阶段和冒泡阶段,想判断是否为目标阶段用target和currentTarget,if(event.target ==event.target),则为目标阶段,想判断是否为冒泡阶段用bubbles,if(event.bubbles==true),则为冒泡阶段。我们在内场景中也添加一个侦听器,方法同理,但是第三个参数useCapture我们要设置true,在listener方法中我们就可以判断是捕获阶段
总结
我们可以分清事件流的三个阶段,捕获阶段,目标阶段,冒泡阶段。
捕获阶段包括舞台到目标节点的父节点范围内的所有节点,目标阶段包括目标节点,冒泡阶段包括从目标节点的父节点返回到舞台行程的中遇到的节点。我们在目标节点所在的场景中获取目标阶段和冒泡阶段,在目标节点所在场景的上一个场景(至少上一个场景)能获取捕获阶段,我们要注意的是addEventListener的第三个参数useCapture如果为false目标阶段,冒泡阶段处于激活状态,如果为true捕获阶段处于激活状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值