Not so if you add the drag handling code as in my original example: private function onMouseDown(event:MouseEvent):void { trace("onMouseDown"); var ds:DragSource = new DragSource(); DragManager.doDrag(this, ds, event); }
Works in the AIR version. --- In flexcoders@yahoogroups.com, "valdhor" <[EMAIL PROTECTED]> wrote: > > Given the following: > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" creationComplete="creationCompleteHandler()"> > <mx:Script> > <![CDATA[ > private function creationCompleteHandler():void > { > but.doubleClickEnabled = true; > but.addEventListener(MouseEvent.CLICK, onMouseClick); > but.addEventListener(MouseEvent.DOUBLE_CLICK, > onMouseDblClick); > cvs.addEventListener(MouseEvent.MOUSE_DOWN, > onMouseDown); > } > > private function onMouseClick(event:MouseEvent):void > { > trace("onMouseClick"); > } > > private function onMouseDown(event:MouseEvent):void > { > trace("onMouseDown"); > } > > private function onMouseDblClick(event:MouseEvent):void > { > trace("onMouseDblClick"); > } > ]]> > </mx:Script> > <mx:Canvas id="cvs" width="300" height="200"> > <mx:Button id="but" width="100" height="75" label="Hello"/> > </mx:Canvas> > </mx:Application> > > I get the following output if I double click the button: > > onMouseDown > onMouseClick > onMouseDown > onMouseDblClick > > > --- In flexcoders@yahoogroups.com, "Vijay Ganesan" <vijay.k.ganesan@> > wrote: > > > > > > I need to handle MOUSE_DOWN because I'm enabling drag and drop. > > Again the weird thing is that the AIR version works fine. > > > > --- In flexcoders@yahoogroups.com, "valdhor" stevedepp@ wrote: > > > > > > Don't quote me on this but it is probably because the > > > MouseEvent.MOUSE_DOWN event is captured before a double click. If > you > > > change the event listener from MouseEvent.MOUSE_DOWN to > > > MouseEvent.CLICK then it works as expected. > > > > > > > > > --- In flexcoders@yahoogroups.com, "Vijay Ganesan" > > > <vijay.k.ganesan@> wrote: > > > > > > > > I have the same code running in an AIR app and in a browser app - > the > > > > only difference being the containing mx:WindowedApplication versus > > > > mx:Application. See code below for both. Double clicking on the > button > > > > in the AIR app works fine (MouseEvent.DOUBLE_CLICK gets fired) but > the > > > > same does not fire in the browser version. Can someone tell me > what is > > > > going on here? > > > > > > > > Thanks > > > > Vijay > > > > > > > > AIR version: > > > > <?xml version="1.0" encoding="utf-8"?> > > > > <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" > > > > layout="absolute" creationComplete="creationCompleteHandler()"> > > > > <mx:Script> > > > > <![CDATA[ > > > > import mx.managers.DragManager; > > > > import mx.core.DragSource; > > > > > > > > private function creationCompleteHandler():void > > > > { > > > > cvs.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); > > > > but.doubleClickEnabled = true; > > > > but.addEventListener(MouseEvent.DOUBLE_CLICK, onMouseDblClick); > > > > } > > > > > > > > private function onMouseDown(event:MouseEvent):void > > > > { > > > > trace("onMouseDown"); > > > > var ds:DragSource = new DragSource(); > > > > DragManager.doDrag(this, ds, event); > > > > } > > > > > > > > private function onMouseDblClick(event:MouseEvent):void > > > > { > > > > trace("onMouseDblClick"); // gets called as expected > > > > } > > > > ]]> > > > > </mx:Script> > > > > > > > > <mx:Canvas id="cvs" width="300" height="200"> > > > > <mx:Button id="but" width="100" height="75" label="Hello"/> > > > > </mx:Canvas> > > > > > > > > </mx:WindowedApplication> > > > > > > > > Browser version: > > > > <?xml version="1.0" encoding="utf-8"?> > > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > > > > layout="absolute" creationComplete="creationCompleteHandler()"> > > > > <mx:Script> > > > > <![CDATA[ > > > > import mx.managers.DragManager; > > > > import mx.core.DragSource; > > > > > > > > private function creationCompleteHandler():void > > > > { > > > > cvs.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); > > > > but.doubleClickEnabled = true; > > > > but.addEventListener(MouseEvent.DOUBLE_CLICK, onMouseDblClick); > > > > } > > > > > > > > private function onMouseDown(event:MouseEvent):void > > > > { > > > > trace("onMouseDown"); > > > > var ds:DragSource = new DragSource(); > > > > DragManager.doDrag(this, ds, event); > > > > } > > > > > > > > private function onMouseDblClick(event:MouseEvent):void > > > > { > > > > trace("onMouseDblClick"); // does not get called!!! > > > > } > > > > ]]> > > > > </mx:Script> > > > > > > > > <mx:Canvas id="cvs" width="300" height="200"> > > > > <mx:Button id="but" width="100" height="75" label="Hello"/> > > > > </mx:Canvas> > > > > > > > > </mx:Application> > > > > > > > > > >