FLEX:target和currentTarget属性的区别
来源:互联网 发布:lamy2000淘宝组装 编辑:程序博客网 时间:2024/05/22 09:39
所有Event对象都有target和currentTarget属性,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" initialize="init();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function canvasClick(event:MouseEvent):void{
Alert.show('canvas target:'+event.target.id);
Alert.show('canvas currentTarget:'+event.currentTarget.id);
}
private function panelClick(event:MouseEvent):void{
Alert.show('panel target:'+event.target.id);
Alert.show('panel currentTarget:'+event.currentTarget.id);
//event.stopImmediatePropagation();
}
private function init():void {
_canvas.addEventListener(MouseEvent.CLICK,canvasClick);
_panel.addEventListener(MouseEvent.CLICK,panelClick);
}
]]>
</mx:Script>
<mx:Canvas x="0" y="0" width="100%" height="100%" backgroundColor="#FDFCFC" id="_canvas">
<mx:Panel x="116" y="64" width="427" height="293" layout="absolute" id="_panel">
<mx:Button x="188" y="158" label="Button" id="_click"/>
<!-- image这个组件无法产生click事件 -->
<mx:Image source="1.png" id="_image" x="125" y="70" width="102" height="47"/>
</mx:Panel>
</mx:Canvas>
</mx:Application>
总结:
(1)button这个组件默认的已经注册了click事件,image没有注册,必须手动注册click事件
(2)只有子组件的事件触发了,才会触发父组件的,否侧不会触发事件(事件的传播性,从 子----> 父)
(3)event.stopImmediatePropagation();这个方法是停止事件向父组件传播的
- FLEX:target和currentTarget属性的区别
- FLEX:target和currentTarget属性的区别
- FLEX:target和currentTarget属性的区别
- FLEX中target和currentTarget的区别
- target和currentTarget属性的区别
- Flex的 Event中属性currentTarget与target的区别
- as3.0 中target属性和currentTarget属性的区别
- flex 事件中currentTarget和target区别
- target 和currentTarget的区别
- target和currentTarget的区别
- event对象中 target和currentTarget 属性的区别
- MouseEvent的target和currentTarget属性区分
- MouseEvent的target和currentTarget属性区分
- Event的target和currentTarget的区别
- flex 3 中 event 的 target 与 currentTarget的区别
- MouseEvent的click事件的currentTarget和target属性的区别
- JavaScript target 和 currentTarget 区别
- flash对象中target与currentTarget属性的区别
- 关于解决插入USB设备蓝屏的思路【转】
- 源缓存包 EHCache 全接触[转载]
- Asp.net中DataBinder.Eval用法的总结
- error: No curses/termcap library found的解决办法
- 此版本魔兽争霸III需要特定语言版本之Windows 的解决方法
- FLEX:target和currentTarget属性的区别
- 在CentOS 5上部署WWW应用心得
- AVR C语言宏定义技巧(常用宏定义)(转)
- WindowsMobile上C#通过DirectShow控制摄像头
- c#.net 文本编辑控件——C# RichTextBox对象中插入文字而不改变文本格式
- VC++有源码调试中崩溃问题定位的一个好方法
- 用友U9产品SOA设计架构遭技术质疑
- 《怎样成为优秀的软件架构师》解析 (好文转载)
- 浅析SIP协议