2012-05-03 6 views
1

レンダラークラスにイメージがあります。イメージをクリックすると、フレックスのメインmxmlページにイベントをディスパッチする必要があります。イメージをクリックするとフレックスでイベントが送出されます

レンダラクラスで: -

public function clickOnMoreImage(event:Event):void {     
    var moreImageEvent:Event = new Event("clickOnMoreImage"); 
    var parent:EventDispatcher = parentDocument.parentDocument as EventDispatcher; 
    if (parent != null) { 
     parent.dispatchEvent(moreImageEvent); 
    } 
} 


<mx:Image id="imgStatus" buttonMode="true" useHandCursor="true" click="clickOnMoreImage(event)" /> 

親クラス: -

this.addEventListener("clickOnMoreImage", showMoreImagePopUpData); 

public function showMoreImagePopUpData(event:Event):void { 
    Alert.show("clicked on More Image"); 
} 

これが機能していません。これについて何か回避策を知ることができますか?

+0

お試しください。http://stackoverflow.com/questions/7193665/spark-list-with-buttons/7193979#7193979 – RIAstar

答えて

3
  1. この場合にはparentまたはparentDocumentを使用しないでください。あなたはトップアプリケーションに対してレンダラーのレベルを入れ子にすることはできません。
  2. 「フレックス」方法は、event bubblingを使用することです。

レンダラー自体によるイベントの送信(bubblestrueに設定)。これはレンダラーの親で聞くことができます(例:>データグループ - >リスト - >アプリケーション - > SystemManager - >ポップアップの子でない場合)ステージ)。

var moreImageEvent:Event = new Event("clickOnMoreImage", true); //2nd parameter "true" 
dispatchEvent(moreImageEvent); 
関連する問題