Subscribe

  • Subscribe  

Detecting a mouse up outside event in AS3

Posted by Jay | May 11, 2008 .

In ActionScript3 event driven programming plays a major part with mouse or key pressed and even a text field having events associated with them. Events indicate action e.g. mouse press corresponds to “mouse down” event and vice versa is “mouse up” event.

To check if mouse release (mouseUp -Event.MOUSE_UP)) has happened on the target object on which mouse down - Event.MOUSE_DOWN took place or a “mouse up outside “event when mouse up has not happened on the target object; there is no predefined event with AS3 unlike its earlier versions that had “onReleaseOutside event”.

To resolve this, we need to add stage event handler for mouse up in mouse down event handler. By adding stage event handler for mouse up will detect any global mouse up event. Hence it will check if the event associates the target object that has mouse down event earlier or it was a mouse up outside event not related with the target object.

Package {
  	 Import flash.display.DisplayObject;
  	 import flash.events.*;

	 public var child: DisplayObject = new DisplayObject ();
	 public function childdown(event:MouseEvent):void
		{
		 // mouse up event happens only when there is mouse down
		 trace("child mouse down");
		 stage.addEventListener(MouseEvent.MOUSE_UP,childUpOutside);
		}

	Public function childUpOutside (event:MouseEvent):void
	{
		 if (event.target != child)
		 {
 			  trace("child mouse up outside");
		 }
	   stage.removeEventListener(MouseEvent.MOUSE_UP, childUpOutside);
	}
}

Leave a Comment

If you would like to make a comment, please fill out the form below.


Name

Email

Website

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Comments


Related Posts

1 Comment so far
  1. Campbell  May 11, 2008 1:20 pm

    Have you seen:

    FlexMouseEvent.MOUSE_DOWN_OUTSIDE

    ;)

    Campbell


Cox bundle ||| Verizon Phone ||| Comcast cable deals