ADDED、ADDED_TO_STAGE、REMOVED、REMOVED_FROM_STAGE这几个事件的区别

 1 var _container:Sprite = new Sprite();
 2
 3 _container.addEventListener(Event.ADDED,onAdded);
 4 _container.addEventListener(Event.ADDED_TO_STAGE,onAddedToStage);
 5 _container.addEventListener(Event.REMOVED,onRemoved);
 6 _container.addEventListener(Event.REMOVED_FROM_STAGE,onRemovedFromStage);
 7
 8 function onAdded(e:Event):void {
 9     trace("onAdded:",e);
10 }
11
12 function onAddedToStage(e:Event):void {
13     trace("onAddedToStage:",e);
14 }
15
16 function onRemoved(e:Event):void {
17     trace("onRemoved:",e);
18 }
19
20 function onRemovedFromStage(e:Event):void {
21     trace("onRemovedFromStage:",e);
22 }
23
24 addChild(_container);
25 //onAdded: [Event type="added" bubbles=true cancelable=false eventPhase=2]
26 //onAddedToStage: [Event type="addedToStage" bubbles=false cancelable=false eventPhase=2]
27
28 var _sub:Sprite = new Sprite();
29
30 _container.addChild(_sub);
31 //onAdded: [Event type="added" bubbles=true cancelable=false eventPhase=3]
32
33 /*_container.removeChild(_sub);
34 //onRemoved: [Event type="removed" bubbles=true cancelable=false eventPhase=3]*/
35
36 removeChild(_container);
37 //onRemoved: [Event type="removed" bubbles=true cancelable=false eventPhase=2]
38 //onRemovedFromStage: [Event type="removedFromStage" bubbles=false cancelable=false eventPhase=2]
39
40 _container.removeChild(_sub);
41 //onRemoved: [Event type="removed" bubbles=true cancelable=false eventPhase=3]

区别:

ADDED是子对象被添加到自身时触发,ADDED_TO_STAGE是对象本身被添加到显示列表时触发;类似的:REMOVED当子对象从自身移除时触发,REMOVED_FROM_STAGE是自身从显示列表中移除时触发;

ADDED/REMOVED事件会冒泡,而ADDED_TO_STAGE/REMOVED_FROM_STAGE不冒泡,也就是说每次addChild或removeChild自身时,下面的ADDED/REMOVED事件也会冒泡上来先被触发,然后才触发ADDED_TO_STAGE/REMOVED_FROM_STAGE事件.

原作者:菩提树下的杨过
出处:http://yjmyzz.cnblogs.com

时间: 2024-12-12 05:20:46

ADDED、ADDED_TO_STAGE、REMOVED、REMOVED_FROM_STAGE这几个事件的区别的相关文章

解决 There are no resources that can be added or removed from the server

网上下载了一个项目,在eclipse中部署时,加载项目到tomcat中项目名称无法显示,报出There are no resources that can be added or removed from the server 这个是因为下载下来的项目没有eclipse的相关配置文件,eclipse不知道这是一个什么项目. 解决方法: 1.进入configure Build Path 1.进入Project Facets 选中Dynamic Web Module和java 然后就可以正常部署项目

【tomcat】There are no resources that can be added or removed from the server.

1.直接打开在eclipse中选中该不能导入项目,右键打开项目属性,在项目属性里选择项目 类型为Dynamic WebProject即可发布. 2.eclipse导入一个项目后,不能加载到tomcat里面,出现“Thereare no resources that can be added or removed from the server.” 解决方法: 第1步.找相同类型的工程(tomcat能引用的)第2步.把新建项目里面的.project文件和.settings文件夹复制到导入的那个项目

eclise 部署web工程报 There are no resources that can be added or removed from the server.

该文章转自: http://blog.csdn.net/dw_java08/article/details/7789601 eclise 部署web工程报 There are no resources that can be added or removed from the server. 解决办法: 今天在eclipse中导入一个项目后,无法加载到tomcat里面,出现“There are no resources that can be added or removed from the

<<< Tomcat 部署项目There are no resources that can be added or removed from the server

没有资源,可以添加或删除的服务器 解决方式: 方式1.选中项目右键--找到Project Facets--勾选Dynamic Web Project和java 方式2.新建一个同名web项目,把新建项目里面的.project文件和.settings文件夹复制到导入的那个项目里 <<< Tomcat 部署项目There are no resources that can be added or removed from the server,布布扣,bubuko.com <<&

eclipse导入git项目出现There are no resources that can be added or removed from the server错误

上传到git上的项目因为配置了过滤文件,将.settings文件和.project文件都过滤掉了,settings文件中主要存放的是各种插件配置,约束你可以更好的利用IDE进行编码 因为将这两个文件过滤掉了,所以导致从git上拉下来的项目,加入到tomcat中是出现如下错误(There are no resources that can be added or removed from the server)没有可从服务器添加或删除的资源 解决办法: 在Deployment Assembly 中

转载关于KeyPress和KeyDown事件的区别和联系

KeyDown:在控件有焦点的情况下按下键时发生. KeyPress:在控件有焦点的情况下按下键时发生. KeyUp:在控件有焦点的情况下释放键时发生. 1.KeyPress主要用来接收字母.数字等ANSI字符   KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn(在键盘右上角)所有按键(这里不讨论特殊键盘的特殊键) 2.KeyPress 只能捕获单个字符   KeyDown 和KeyUp 可以捕获组合键. 3.KeyPress 不显示键盘的物理状态(SHIFT键),而只

c# 委托与事件的区别

委托与事件的区别 委托和事件没有可比性,因为委托是数据类型,事件是对象(可以理解为对委托变量的封装.),下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别.事件的内部是用委托实现的.(举例子:三种实现事件方式的区别(直接用委托实现.用私有委托+公有方法模拟事件,直接用event事件实现)) 因为对于事件来讲,外部只能“注册自己+=.注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这

jQuery的ready与js的load事件的区别

摘自:http://www.cnblogs.com/see7di/archive/2011/07/15/2239677.html 为了理解这两个事件的异同,读者应该先了解HTML文档加载的顺序. DOM文档加载是按顺序执行的,这与浏览器的渲染方式有关系.一般浏览器渲染操作的顺序大致按如下几个步骤来完成.(1) 解析HTML结构.(2) 加载外部脚本和样式表文件.(3) 解析并执行脚本代码.(4) 构造HTML DOM模型.(5) 加载图片等外部文件.(6) 页面加载完毕. 具体说明如下.1. 执

c#之委托和事件的区别

下面开始对事件进行介绍 1.定义事件以及事件的编译原理 首先定义事件对应的委托: 1 public delegate void ThreeClickEventDel(); 然后对应事件变量:(其实就是在委托前面加一个event) public event ThreeClickEventDel ThreeClickEvent; 反编译之后:是:一个“私有委托”和两个“公有”的“add”和“remover”方法 1)因为是私有委托:所以只有类的内部可以调用,在类外部就不能被调用.创建的类的实例也是不