Flex event.target; event.currentTarget; 这两个有什么区别

来源:互联网 发布:网络歌曲大全英文 伤感 编辑:程序博客网 时间:2024/04/28 14:57
target是引发事件对象  currenttarget 是处理事件对象  简单说,target是事件的调用对象(event dispatcher),currentTarget是事件的处理对象(event processor)  以一个实例来说吧  1 <?xml version="1.0" encoding="utf-8"?>  2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" name="app"  3 initialize="init()">  4  5 <mx:Button id="btn" name="btn" label="按钮1"/>  6  7 <mx:Button id="btn2" name="btn2" label="按钮2" click="clickHandler(event)" />  8  9 <mx:Script>  10 <![CDATA[  11 import mx.controls.Alert;  12 private function init(): void  13 {  14 addEventListener(MouseEvent.CLICK, clickHandler);  15 }  16  17 private function clickHandler(event: MouseEvent): void  18 {  19 Alert.show("target: " + (event.target as DisplayObject).name  20 + "\ncurrentTarget: " + (event.currentTarget as DisplayObject).name);  21 }  22 ]]>  23 </mx:Script>  24 </mx:Application>  运行结果:  1.点击空白区域:  target: app  currentTarget: app  2.点击按钮1:  target: btn  currentTarget: app  3.点击按钮2先后出现两个alert窗口:  alert 1(stage的click事件响应):  target: btn2  currentTarget: app  alert 2(按钮2的click事件响应):  target: btn2  currentTarget: btn2  源:http://yangchao19851101.blog.163.com/blog/static/571301652011124104015187/  - 官方解释  currentTarget是事件的处理对象(event processor)  target是事件的调用对象(event dispatcher)
原创粉丝点击