flex 事件的target和currentTarget的区别
2010-05-17 13:46
561 查看
所有Event对象都有target和currentTarget属性,target属性可引用事件分派对象,currentTarget属性可引用正在被检测事件监听器的当前节点。
在事件将在控件链中向上冒泡,在此过程中target始终不变,currentTarget在每个向上移动的过程中及时改变。
例如当用户点击一个Button控件,很可能事件派发者是Button的内部子组件UITextField,事件向上冒泡过程中target始终为 UITextField不变,但currentTarget会逐步冒泡到Button组件,这时,触发了在Button上监听的Click事件处理函数。
综上,开发人员一般使用event.currentTarget属性,event.target属性很少使用。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function onClick(event:MouseEvent):void
{
trace("event.target:" + event.target);
trace("event.currentTarget:" + event.currentTarget);
}
]]>
</mx:Script>
<mx:Canvas id="outermostContainer" width="324" height="215" click="onClick(event);"
backgroundColor="#00BB00">
<mx:Canvas id="canvasContainer" width="249" height="108" click="onClick(event);"
backgroundColor="#00FF00" >
<mx:Button id="btnTest" label="点击测试" fontSize="25" x="59.5" y="34" />
</mx:Canvas>
</mx:Canvas>
</mx:Application>
1.when click button, then u can trace as below:
event.target:hhhhhh0.outermostContainer.canvasContainer.btnTest
event.currentTarget:hhhhhh0.outermostContainer.canvasContainer
event.target:hhhhhh0.outermostContainer.canvasContainer.btnTest
event.currentTarget:hhhhhh0.outermostContainer
2.click canvasContainer
event.target:hhhhhh0.outermostContainer.canvasContainer
event.currentTarget:hhhhhh0.outermostContainer.canvasContainer
event.target:hhhhhh0.outermostContainer.canvasContainer
event.currentTarget:hhhhhh0.outermostContainer
3.click outermostContainer
event.target:hhhhhh0.outermostContainer
event.currentTarget:hhhhhh0.outermostContainer
在事件将在控件链中向上冒泡,在此过程中target始终不变,currentTarget在每个向上移动的过程中及时改变。
例如当用户点击一个Button控件,很可能事件派发者是Button的内部子组件UITextField,事件向上冒泡过程中target始终为 UITextField不变,但currentTarget会逐步冒泡到Button组件,这时,触发了在Button上监听的Click事件处理函数。
综上,开发人员一般使用event.currentTarget属性,event.target属性很少使用。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function onClick(event:MouseEvent):void
{
trace("event.target:" + event.target);
trace("event.currentTarget:" + event.currentTarget);
}
]]>
</mx:Script>
<mx:Canvas id="outermostContainer" width="324" height="215" click="onClick(event);"
backgroundColor="#00BB00">
<mx:Canvas id="canvasContainer" width="249" height="108" click="onClick(event);"
backgroundColor="#00FF00" >
<mx:Button id="btnTest" label="点击测试" fontSize="25" x="59.5" y="34" />
</mx:Canvas>
</mx:Canvas>
</mx:Application>
1.when click button, then u can trace as below:
event.target:hhhhhh0.outermostContainer.canvasContainer.btnTest
event.currentTarget:hhhhhh0.outermostContainer.canvasContainer
event.target:hhhhhh0.outermostContainer.canvasContainer.btnTest
event.currentTarget:hhhhhh0.outermostContainer
2.click canvasContainer
event.target:hhhhhh0.outermostContainer.canvasContainer
event.currentTarget:hhhhhh0.outermostContainer.canvasContainer
event.target:hhhhhh0.outermostContainer.canvasContainer
event.currentTarget:hhhhhh0.outermostContainer
3.click outermostContainer
event.target:hhhhhh0.outermostContainer
event.currentTarget:hhhhhh0.outermostContainer
相关文章推荐
- flex 事件中currentTarget和target区别
- MouseEvent的click事件的currentTarget和target属性的区别
- JS事件:target与currentTarget区别
- JS事件:target与currentTarget区别
- 事件对象中target对象和currentTarget对象的区别
- FLEX中target和currentTarget的区别
- FLEX:target和currentTarget属性的区别
- FLEX:target和currentTarget属性的区别
- flex 3 中 event 的 target 与 currentTarget的区别
- JS事件:target与currentTarget区别
- jS事件:target与currentTarget区别
- JS事件:target与currentTarget区别
- 事件的target和currentTarget的区别
- FLEX:target和currentTarget属性的区别
- Flex的 Event中属性currentTarget与target的区别
- 事件处理基础知识(二)事件里的currentTarget 和 target的区别?
- AS3中Event的target和currentTarget的区别(事件处理的三个阶段)
- Flex event.target; event.currentTarget; 这两个有什么区别
- dom 事件对象中target与currentTarget区别
- Flex的 Event中属性currentTarget与target的区别