Well, here's a simple example that demonstrates. See how the Button is contained by the application? This means that the button is a child of the application in the hierarchy, which means bubbling should go up to the application. So a bubbling event will reach the application, and I have an event listener added to the application. Voila, everything works.
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="addMeListeners()"> <mx:Script> <![CDATA[ import com.me.MeEvent; private function addMeListeners():void { this.addEventListener(MeEvent.REMOTE, meHandler); } private function meHandler(event:MeEvent):void { out.text += "event\n"; } ]]> </mx:Script> <mx:Button label="click" click="dispatchEvent(new MeEvent(MeEvent.REMOTE))" /> <mx:TextArea id="out" /> </mx:Application> Even if I add more containers around the button the bubbling still works. <mx:VBox> <mx:Panel> <mx:Button label="click" click="dispatchEvent(new MeEvent(MeEvent.REMOTE))" /> </mx:Panel> </mx:VBox> That's about it! Matt ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of {reduxdj} Sent: Friday, December 01, 2006 11:15 PM To: [email protected] Subject: Re: [flexcoders] Matt: Event Propogation - how to bubble up through components?? Matt: Am I doing something wrong because my event listeners aren't triggering anything... the code is all the way at the bottom. If you have a moment. Thanks Patrick Matt Chotin wrote: > > If you're using UIComponents then it should work, the events should > bubble. > > -----Original Message----- > From: [email protected] <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders%40yahoogroups.com> > [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com>] On > Behalf Of {reduxdj} > Sent: Monday, November 27, 2006 8:36 PM > To: [email protected] <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders%40yahoogroups.com> > Subject: Re: [flexcoders] Event Propogation - how to bubble up through > components?? > > Matt: > > I'm adding UIComponents to the display list - I guess that wouldn't work > > this way. > What's the best way to propagate a method to UIComponents? > > Can I just create new UIObjects and add them as children to my display > list or do I have to create class files > and extend my classes that way? > > As you see I'm relatively new to flex and I thank you for your time. > > patrick > > Matt Chotin wrote: > > > > Is the whole parent hierarchy DisplayObjects? Bubbling will only go > > through UI objects, if you had something that didn't extend > > DisplayObject in there it won't bubble up (all of the Flex visual > > components are DisplayObjects) > > > > > ---------------------------------------------------------- > > > > *From:* [email protected] <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders%40yahoogroups.com>] > > > *On Behalf Of [EMAIL PROTECTED] <mailto:%2Adj%40reduxdj.org> <mailto:%2Adj%40reduxdj.org> > > *Sent:* Monday, November 27, 2006 5:39 PM > > *To:* [email protected] <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders%40yahoogroups.com> > > *Subject:* [flexcoders] Event Propogation - how to bubble up through > > components?? > > > > I'm using bubbling, or at least i think i am to capture an event... > > I've extended the event class to make my own event mechanism. the > > events are being dispatched, however the problem is, that > > I'm adding an event listener to my custom mxml component to receive > > the events and nothing happens. I've probably got something > > backwards... > > > > Isn't there a way to listen to events from the parent document? > > > > Doesn't bubbling set to true allow the event > > to be captured by any component in the order that they are created? > > > > my code is as follows: > > > > var evt:MeEvent = new MeEvent(MeEvent.REMOTE,true); > > dispatchEvent(evt); > > > > ----------------------------------- > > > > package com.me > > { > > import flash.events.Event; > > > > public class MeEvent extends Event > > { > > > > > > public static const REMOTE:String = "remote"; > > > > public var realTarget:*; > > > > public function MeEvent(type:String, bubbles:Boolean=true, > > cancelable:Boolean=false) > > { > > super(type, bubbles, cancelable); > > } > > } > > } > > > > -------------------------------------- > > And inside my custom component this is the event listener. > > > > private function init():void{ > > this.addEventListener(MeEvent.REMOTE, handleEvent); > > } > > > > Thanks for your time, > > Patrick > > > > > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > Search Archives: > http://www.mail-archive.com/flexcoders%40yahoogroups.com <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > <http://www.mail-archive.com/flexcoders%40yahoogroups.com <http://www.mail-archive.com/flexcoders%40yahoogroups.com> > > Yahoo! Groups Links > >

