2010-06-17 79 views
0

我試圖讓一個mxml標籤的兄弟姐妹類似於在javascript中選擇兄弟姐妹的方式。這是可能的Actionscript?用actionscript選擇MXML兄弟,就像javascript?

例如,當我點擊編號爲textarea1TextArea時,我需要它告訴我該兄弟的ID爲rect1,因此我可以對它進行進一步處理。

<s:Group> 
    <s:TextArea id="textarea1" click="getSibling(event)" /> 
    <s:Rect id="rect1" /> 
</s:Group> 

回答

2

假設集團,TextArea和矩形是UIComponents的,我認爲這應該工作:

private function getSibling(e:Event):void { 
     var parent:UIComponent = e.currentTarget.parent; 

     if(parent) { 
      var len:int = parent.numChildren; 
      var child:UIComponent; 
      for(var i:int = 0; i < len; i++) { 
       child = parent.getChildAt(i) as UIComponent; 
       if(child && child != e.currentTarget) { 
        trace(child.id); 
       } 
      } 
     } 
    } 
+0

+1具有的代碼。 – JeffryHouser 2010-06-17 03:39:24

1

我最初的想法是訪問父項,然後檢索其中的子項列表。

function getSibling(e:Event):void { 
    //get an array of children from the parent. 
    var children:Array = e.target.parent.getChildren(); 

    //process children as you wish... 
} 

這是關於Javascript here討論的。

希望這會有所幫助。

尼克

nickgs.com

1

據我知道有沒有辦法做到這一點。然而,textarea1和rect1都是本集團的子女。如果您給組織一個ID,您應該能夠遍歷所有的孩子,找到TextArea的所有兄弟姐妹。

在Flex 3中,您將使用for循環,numChildren和getChildAt。我懷疑在Flex 4中它會是類似的。