加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 事件中currentTarget和target区别

发布时间:2020-12-15 01:05:04 所属栏目:百科 来源:网络整理
导读:?简单说,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 ="v
?简单说,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 >
25?

说明:
  1. 点击btn,btn是事件发送者,因此,target是btn;
  2. app注册了事件监听器,用于监听MouseEvnet.Click事件,是事件处理者,因此currentTarget是app
  3. btn2自己注册了click事件,那么btn2既是事件发送者,又是处理者,因此,target和currentTarget都是btn2,这种情况下,两者是一致的
  4. 同时注意,由于app注册了鼠标点击事件,在点击btn2的时候,首先响应的是app的处理器,然后才是btn2的处理器

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读