FLEX中目标与当前目标的区别

时间:2011-11-28 11:48:10

标签: flex flex4

  

可能重复:
  What is the difference between target and currenttarget in flex?

Flex中目标和当前目标之间的区别是什么,特别是在鼠标事件中。 一个例子是有利的。

2 个答案:

答案 0 :(得分:0)

当您从父容器处理事件时,而不是从实际的调度对象处理事件时,您希望能够区分

目标对象 - 实际上首先调度事件的对象 处理该事件的容器 事件对象有两个属性,可用于确定目标对象和当前目标 - 当前处理事件的容器。这些是target和currentTarget

在上一篇文章中,我谈到了Flex中的事件传播阶段,我说Flex中的事件可以在目标对象(调度对象)或任何父容器上处理。

我将使用上一篇文章中的相同示例,对事件处理函数进行微小更改:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx"
               click="buttonClicked(event)"
               viewSourceURL="srcview/index.html">
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            private function buttonClicked(event:MouseEvent):void{
                Alert.show('target object: ' + event.target.name
                            + '\n' + 
                            'current target object: ' + event.currentTarget.name);
            }

        ]]>
    </fx:Script>

    <s:layout>
        <s:VerticalLayout horizontalAlign="center"/>
    </s:layout>

    <s:VGroup click="buttonClicked(event)">
        <s:Button label="Click Me!"
                  click="buttonClicked(event)" />
    </s:VGroup>

</s:Application>

答案 1 :(得分:0)

我认为您可以通过引用This link来理解其中的差异。我希望这会对您有所帮助。