问题
外场景中嵌套一个内场景,内场景中嵌套一个子内场景,子内场景中有事件,找出事件流的三个阶段?
知识要点
事件侦听器(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捕获阶段处于激活状态。
外场景中嵌套一个内场景,内场景中嵌套一个子内场景,子内场景中有事件,找出事件流的三个阶段?
知识要点
事件侦听器(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捕获阶段处于激活状态。