2010-05-24 5 views
1

Cher Richard Szalay,
Je passe par vos réponses concernant les bulles, je veux explorer plus de bulles. S'il vous plaît voir mon exemple ci-dessousflex événements personnalisés bouillonnant

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="com.view.*" > 
<mx:Script> 
    <![CDATA[ 
    import com.events.ImgLoaded; 
    private function loadedd(evt:ImgLoaded):void{ 
    trace("test") 
    evt.stopImmediatePropagation(); 
    } 
    private function panelClickHandler(evt:Event):void{ 
    trace("panel"); 
    } 
    ]]> 
</mx:Script> 
<mx:VBox> 
    <mx:Panel click="panelClickHandler(event)"> 
    <view:Load imgLoad="loadedd(event)"/> 
    </mx:Panel> 
</mx:VBox> 
</mx:Application> 

Dans ma classe d'événements personnalisés i = true jeu bouillonnant, résiliable = true

Je comprends de la réponse précédente qui bouillonne affecte uniquement les composants de l'interface utilisateur; Les événements déclenchés à partir de classes personnalisées ne seront pas bombardés, même si l'argument bubbles est défini sur true.

Ma question est comment puis-je empêcher la fonction panelClickHandler a été déclenché quand je clique sur le bouton dans le "Load" (composant personnalisé) ??

s'il vous plaît expliquer bouillonner avec un bon exemple (comme avoir avec des classes d'événements personnalisés)?

+0

Cela semble se référer à la réponse suivante: http://stackoverflow.com/questions/2040610/bubbling-events-within-custom-components-in-flex/2040770#2040770 –

Répondre

0

Je suppose que votre langue maternelle n'est pas l'anglais et en tout cas je ne suis pas sûr de vous comprendre parfaitement, mais ce que je vous demande, c'est comment autoriser un clic dans la vue: charger depuis le clic gestionnaire sur le panneau. Ce dont vous avez besoin est de configurer un écouteur d'événement pour un clic sur le composant view: load, et stopPropagation à partir de là. Cela empêchera le gestionnaire de clic sur le panneau de tirer. Exemple:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="com.view.*" > 
    <mx:Script> 
     <![CDATA[ 
     import com.events.ImgLoaded; 
     private function loadedd(evt:ImgLoaded):void{ 
     trace("test") 
     evt.stopImmediatePropagation(); 
     } 
     private function panelClickHandler(evt:Event):void{ 
     trace("panel"); 
     } 
private function load_clickHandler (e:MouseEvent) : void 
{ 
e.stopPropagation; 
} 
     ]]> 
    </mx:Script> 
    <mx:VBox> 
     <mx:Panel click="panelClickHandler(event)"> 
     <view:Load imgLoad="loadedd(event)" click="load_clickHandler(event)"/> 
     </mx:Panel> 
    </mx:VBox> 
    </mx:Application> 
Questions connexes