前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AS3关于事件流

AS3关于事件流

作者头像
py3study
发布2020-01-13 12:25:27
3560
发布2020-01-13 12:25:27
举报
文章被收录于专栏:python3

首先,设置一次测试环境:

wKioL1gUUHCxwxJdAAATmqMRxPg723.png-wh_50
wKioL1gUUHCxwxJdAAATmqMRxPg723.png-wh_50

代码如下:

代码语言:javascript
复制
		var $a : MovieClip = ResLibrary.instance.getMovieClip("A");
		$a.x = (stage.width - $a.width )>>1;
		$a.y = (stage.height - $a.height )>>1;
		stage.addChild($a);
		
		var $b : MovieClip = ResLibrary.instance.getMovieClip("B");
		$b.x =  ($a.width - $b.width )>>1;
		$b.y = ($a.height - $b.height )>>1;
		$a.addChild($b);
		
		var $c : MovieClip = ResLibrary.instance.getMovieClip("C");
		$c.x = ($b.width - $c.width )>>1;
		$c.y = ($b.height - $c.height )>>1;
		$b.addChild($c);
		
		$a.addEventListener(MouseEvent.CLICK,this.ClcikHandler,true,0,false);

Click回调方法:

代码语言:javascript
复制
		private function ClcikHandler( event : MouseEvent ):void
		{
			trace( event.target , event.currentTarget );
		}

依次单击C ,B ,A的结果:单击A根本就没有反应

wKiom1gUUe-A1dYqAACOW-5UQoA652.png-wh_50
wKiom1gUUe-A1dYqAACOW-5UQoA652.png-wh_50

如果把$a的单击注册事件改成:

代码语言:javascript
复制
$a.addEventListener(MouseEvent.CLICK,this.ClcikHandler,false,0,false);

就是将第三个参数改为false , 则结果为:单击A有反应

wKioL1gUUvDBa8ZcAABkGGO6ZTg848.png-wh_50
wKioL1gUUvDBa8ZcAABkGGO6ZTg848.png-wh_50

addEventListener的第三个参数如果为false(默认为flase), 回调事件会在冒泡状态的时候执行 ;否则会在目标状态执行。当参数为true时 ,在A上注册,不存在冒泡状态 , 回掉函数不会执行。

事件机制的3个阶段

Event有一个属性:eventPhase,可以为以下3个值:

  • 捕获阶段 (EventPhase.CAPTURING_PHASE)。
  • 目标阶段 (EventPhase.AT_TARGET)。
  • 冒泡阶段 (EventPhase.BUBBLING_PHASE)。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档