| Package | flash.events | 
| Class | public class FocusEvent | 
| Inheritance | FocusEvent    Event   Object | 
| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
FocusEvent.FOCUS_IN
                  FocusEvent.FOCUS_OUT
                  FocusEvent.KEY_FOCUS_CHANGE
                  FocusEvent.MOUSE_FOCUS_CHANGE
                  | Property | Defined By | ||
|---|---|---|---|
![]()  | bubbles : Boolean [read-only] 
	Indicates whether an event is a bubbling event.  | Event | |
![]()  | cancelable : Boolean [read-only] 
	Indicates whether the behavior associated with the event can be prevented.  | Event | |
![]()  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance.  | Object | |
![]()  | currentTarget : Object [read-only] 
	The object that is actively processing the Event object with an event listener.  | Event | |
	Specifies direction of focus for a focusIn event.  | FocusEvent | ||
![]()  | eventPhase : uint [read-only] 
	The current phase in the event flow.  | Event | |
| isRelatedObjectInaccessible : Boolean 
	 If true, the relatedObject property is set to null for 
	 reasons related to security sandboxes.  | FocusEvent | ||
| keyCode : uint 
	The key code value of the key pressed to trigger a keyFocusChange event.  | FocusEvent | ||
![]()  | prototype : Object [static] 
	 A reference to the prototype object of a class or function object.  | Object | |
| relatedObject : InteractiveObject 
	A reference to the complementary InteractiveObject instance that is affected by the
	change in focus.  | FocusEvent | ||
| shiftKey : Boolean 
	Indicates whether the Shift key modifier is activated, in which case the value is 
	true.  | FocusEvent | ||
![]()  | target : Object [read-only] 
	The event target.  | Event | |
![]()  | type : String [read-only] 
	The type of event.  | Event | |
| Method | Defined By | ||
|---|---|---|---|
FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0, direction:String = "none") 
    Creates an Event object with specific information relevant to focus events.  | FocusEvent | ||
[override] 
	Creates a copy of the FocusEvent object and sets the value of each property to match that of the original.  | FocusEvent | ||
![]()  | 
	 A utility function for implementing the toString() method in custom 
	 ActionScript 3.0 Event classes.  | Event | |
![]()  | 
	 Indicates whether an object has a specified property defined.  | Object | |
![]()  | 
	Checks whether the preventDefault() method has been called on the event.  | Event | |
![]()  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter.  | Object | |
![]()  | 
	Cancels an event's default behavior if that behavior can be canceled.  | Event | |
![]()  | 
	 Indicates whether the specified property exists and is enumerable.  | Object | |
![]()  | 
     Sets the availability of a dynamic property for loop operations.  | Object | |
![]()  | 
	Prevents processing of any event listeners in the current node and any subsequent nodes in 
	the event flow.  | Event | |
![]()  | 
	Prevents processing of any event listeners in nodes subsequent to the current node in the 
	event flow.  | Event | |
![]()  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions.  | Object | |
[override] 
	Returns a string that contains all the properties of the FocusEvent object.  | FocusEvent | ||
![]()  | 
	 Returns the primitive value of the specified object.  | Object | |
| Constant | Defined By | ||
|---|---|---|---|
![]()  | ACTIVATE : String = "activate" [static] 
	The ACTIVATE constant defines the value of the type property of an activate event object.  | Event | |
![]()  | ADDED : String = "added" [static] 
	The Event.ADDED constant defines the value of the type property of 
	an added event object.  | Event | |
![]()  | ADDED_TO_STAGE : String = "addedToStage" [static] 
	The Event.ADDED_TO_STAGE constant defines the value of the type 
	property of an addedToStage event object.  | Event | |
![]()  | CANCEL : String = "cancel" [static] 
	The Event.CANCEL constant defines the value of the type property of a cancel event object.  | Event | |
![]()  | CHANGE : String = "change" [static] 
	The Event.CHANGE constant defines the value of the type property of a change event object.  | Event | |
![]()  | CLEAR : String = "clear" [static] 
	The Event.CLEAR constant efines the value of the type property 
	of a clear event object.  | Event | |
![]()  | CLOSE : String = "close" [static] 
	The Event.CLOSE constant defines the value of the type property of a close event object.  | Event | |
![]()  | [static] 
	The Event.CLOSING constant defines the value of the 
	type property of a closing event object.  | Event | |
![]()  | COMPLETE : String = "complete" [static] 
	The Event.COMPLETE constant defines the value of the type property of a complete event object.  | Event | |
![]()  | CONNECT : String = "connect" [static] 
	The Event.CONNECT constant defines the value of the type property of a connect event object.  | Event | |
![]()  | COPY : String = "copy" [static] 
	Defines the value of the type property of a copy event object.  | Event | |
![]()  | CUT : String = "cut" [static] 
	Defines the value of the type property of a cut event object.  | Event | |
![]()  | DEACTIVATE : String = "deactivate" [static] 
	The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object.  | Event | |
![]()  | DISPLAYING : String = "displaying" [static] 
	 The Event.DISPLAYING constant defines the value of the type property of a displaying event object.  | Event | |
![]()  | ENTER_FRAME : String = "enterFrame" [static] 
	The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object.  | Event | |
![]()  | EXIT_FRAME : String = "exitFrame" [static] 
	The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object.  | Event | |
![]()  | [static] 
	The Event.EXITING constant defines the value of the type property of an exiting event object.  | Event | |
| FOCUS_IN : String = "focusIn" [static] 
	Defines the value of the type property of a focusIn event object.  | FocusEvent | ||
| FOCUS_OUT : String = "focusOut" [static] 
	Defines the value of the type property of a focusOut event object.  | FocusEvent | ||
![]()  | FRAME_CONSTRUCTED : String = "frameConstructed" [static] 
	The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object.  | Event | |
![]()  | FULLSCREEN : String = "fullScreen" [static] 
	The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object.  | Event | |
![]()  | [static] 
	The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object.  | Event | |
![]()  | [static] 
	The Event.HTML_DOM_INITIALIZE constant defines the value of the type property 
	of an htmlDOMInitialize event object.  | Event | |
![]()  | [static] 
	The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object.  | Event | |
![]()  | ID3 : String = "id3" [static] 
	The Event.ID3 constant defines the value of the type property of an id3 event object.  | Event | |
![]()  | INIT : String = "init" [static] 
	The Event.INIT constant defines the value of the type property of an init event object.  | Event | |
| KEY_FOCUS_CHANGE : String = "keyFocusChange" [static] 
	Defines the value of the type property of a keyFocusChange event object.  | FocusEvent | ||
![]()  | [static] 
	The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object.  | Event | |
| MOUSE_FOCUS_CHANGE : String = "mouseFocusChange" [static] 
	Defines the value of the type property of a mouseFocusChange event object.  | FocusEvent | ||
![]()  | MOUSE_LEAVE : String = "mouseLeave" [static] 
	The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object.  | Event | |
![]()  | [static] 
	The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object.  | Event | |
![]()  | OPEN : String = "open" [static] 
	The Event.OPEN constant defines the value of the type property of an open event object.  | Event | |
![]()  | PASTE : String = "paste" [static] 
	The Event.PASTE constant defines the value of the type property of a paste event object.  | Event | |
![]()  | REMOVED : String = "removed" [static] 
	The Event.REMOVED constant defines the value of the type property of
	a removed event object.  | Event | |
![]()  | REMOVED_FROM_STAGE : String = "removedFromStage" [static] 
	The Event.REMOVED_FROM_STAGE constant defines the value of the type 
	property of a removedFromStage event object.  | Event | |
![]()  | RENDER : String = "render" [static] 
	The Event.RENDER constant defines the value of the type property of a render event object.  | Event | |
![]()  | RESIZE : String = "resize" [static] 
	The Event.RESIZE constant defines the value of the type property of a resize event object.  | Event | |
![]()  | SCROLL : String = "scroll" [static] 
	The Event.SCROLL constant defines the value of the type property of a scroll event object.  | Event | |
![]()  | SELECT : String = "select" [static] 
	The Event.SELECT constant defines the value of the type property of a select event object.  | Event | |
![]()  | SELECT_ALL : String = "selectAll" [static] 
	The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object.  | Event | |
![]()  | SOUND_COMPLETE : String = "soundComplete" [static] 
	The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object.  | Event | |
![]()  | TAB_CHILDREN_CHANGE : String = "tabChildrenChange" [static] 
	The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object.  | Event | |
![]()  | TAB_ENABLED_CHANGE : String = "tabEnabledChange" [static] 
	The Event.TAB_ENABLED_CHANGE constant defines the value of the type 
	property of a tabEnabledChange event object.  | Event | |
![]()  | TAB_INDEX_CHANGE : String = "tabIndexChange" [static] 
	The Event.TAB_INDEX_CHANGE constant defines the value of the 
	type property of a tabIndexChange event object.  | Event | |
![]()  | UNLOAD : String = "unload" [static] 
	The Event.UNLOAD constant defines the value of the type property of an unload event object.  | Event | |
![]()  | [static] 
	The Event.USER_IDLE constant defines the value of the type property of a userIdle event object.  | Event | |
![]()  | [static] 
	The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object.  | Event | |
| property | 
direction:String| Runtime Versions: | AIR 1.0, AIR 1.0 | 
	Specifies direction of focus for a focusIn event.
	
	
    public function get direction():String    public function set direction(value:String):voidSee also
| isRelatedObjectInaccessible | property | 
isRelatedObjectInaccessible:Boolean| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 10, AIR 1.0 | 
	 If true, the relatedObject property is set to null for 
	 reasons related to security sandboxes.  If the nominal value of relatedObject is a reference to a
	 DisplayObject in another sandbox, relatedObject is set to
	 null unless there is permission in both directions across this sandbox boundary.  Permission is
	 established by calling Security.allowDomain() from a SWF file, or by providing
	 a policy file from the server of an image file, and setting the LoaderContext.checkPolicyFile
	 property when loading the image.
	 
	 
    public function get isRelatedObjectInaccessible():Boolean    public function set isRelatedObjectInaccessible(value:Boolean):voidSee also
| keyCode | property | 
keyCode:uint| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	The key code value of the key pressed to trigger a keyFocusChange event.
	
	
    public function get keyCode():uint    public function set keyCode(value:uint):void| relatedObject | property | 
relatedObject:InteractiveObject| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	A reference to the complementary InteractiveObject instance that is affected by the
	change in focus. For example, when a focusOut event occurs, the
	relatedObject represents the InteractiveObject instance that has gained focus.
	
The value of this property can be null in two circumstances: if there no related object, 
	or there is a related object, but it is in a security sandbox to which you don't have access.
		Use the isRelatedObjectInaccessible() property to determine which of these reasons applies.
    public function get relatedObject():InteractiveObject    public function set relatedObject(value:InteractiveObject):voidSee also
| shiftKey | property | 
shiftKey:Boolean| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	Indicates whether the Shift key modifier is activated, in which case the value is 
	true. Otherwise, the value is false. This property is 
	used only if the FocusEvent is of type keyFocusChange.
	
	
    public function get shiftKey():Boolean    public function set shiftKey(value:Boolean):void| FocusEvent | () | Constructor | 
public function FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0, direction:String = "none")| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
Creates an Event object with specific information relevant to focus events. Event objects are passed as parameters to event listeners.
Parameterstype:String —  The type of the event. Possible values are:
	FocusEvent.FOCUS_IN, FocusEvent.FOCUS_OUT, FocusEvent.KEY_FOCUS_CHANGE, and FocusEvent.MOUSE_FOCUS_CHANGE.
     | |
bubbles:Boolean (default = true) —  Determines whether the Event object participates in the bubbling stage of the event flow.
	 | |
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled.
	 | |
relatedObject:InteractiveObject (default = null) — Indicates the complementary InteractiveObject instance that is affected by the change in focus. For example, when a focusIn event occurs, relatedObject represents the InteractiveObject that has lost focus.
	 | |
shiftKey:Boolean (default = false) — Indicates whether the Shift key modifier is activated.
	 | |
keyCode:uint (default = 0) — Indicates the code of the key pressed to trigger a keyFocusChange event.
	 | |
direction:String (default = "none") — Indicates from which direction the target interactive object is being activated. Set to
	FocusDirection.NONE (the default value) for all events other than focusIn.
    
	 | 
See also
| clone | () | method | 
override public function clone():Event| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
Creates a copy of the FocusEvent object and sets the value of each property to match that of the original.
ReturnsEvent — A new FocusEvent object with property values that match those of the original.
	 
	  | 
| toString | () | method | 
override public function toString():String| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
Returns a string that contains all the properties of the FocusEvent object. The string is in the following format:
[FocusEvent type=value bubbles=value cancelable=value relatedObject=value shiftKey=value]
String — A string that contains all the properties of the FocusEvent object.
	 
	  | 
| FOCUS_IN | Constant | 
public static const FOCUS_IN:String = "focusIn"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	Defines the value of the type property of a focusIn event object. 
	
This event has the following properties:
| Property | Value | 
|---|---|
bubbles | true | 
cancelable | false; there is no default behavior to cancel. | 
currentTarget | The object that is actively processing the Event object with an event listener. | 
keyCode | 0; applies only to keyFocusChange events. | 
relatedObject | The complementary InteractiveObject instance that is affected by the change in focus. | 
shiftKey | false; applies only to keyFocusChange events. | 
target | The InteractiveObject instance that has just received focus. 
	The target is not always the object in the display list 
	that registered the event listener. Use the currentTarget 
	property to access the object in the display list that is currently processing the event.
	 | 
direction | The direction from which focus was assigned. This property reports
	the value of the direction parameter of the assignFocus() method of the stage. 
	If the focus changed through some other means, the value will always be FocusDirection.NONE.
	Applies only to focusIn events. For all other focus events the value will be 
	FocusDirection.NONE. | 
See also
| FOCUS_OUT | Constant | 
public static const FOCUS_OUT:String = "focusOut"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	Defines the value of the type property of a focusOut event object. 
	
This event has the following properties:
| Property | Value | 
|---|---|
bubbles | true | 
cancelable | false; there is no default behavior to cancel. | 
currentTarget | The object that is actively processing the Event object with an event listener. | 
keyCode | 0; applies only to keyFocusChange events. | 
relatedObject | The complementary InteractiveObject instance that is affected by the change in focus. | 
shiftKey | false; applies only to keyFocusChange events. | 
target | The InteractiveObject instance that has just lost focus. 
	The target is not always the object in the display list 
	that registered the event listener. Use the currentTarget 
	property to access the object in the display list that is currently processing the event.
	 | 
See also
| KEY_FOCUS_CHANGE | Constant | 
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	Defines the value of the type property of a keyFocusChange event object. 
	
	
This event has the following properties:
| Property | Value | 
|---|---|
bubbles | true | 
cancelable | true; call the preventDefault() method
	to cancel default behavior. | 
currentTarget | The object that is actively processing the Event object with an event listener. | 
keyCode | The key code value of the key pressed to trigger a keyFocusChange event. | 
relatedObject | The complementary InteractiveObject instance that is affected by the change in focus. | 
shiftKey | true if the Shift key modifier is activated; false otherwise. | 
target | The InteractiveObject instance that currently has focus. 
	The target is not always the object in the display list 
	that registered the event listener. Use the currentTarget 
	property to access the object in the display list that is currently processing the event.
	 | 
See also
| MOUSE_FOCUS_CHANGE | Constant | 
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | Flash Player 9, AIR 1.0 | 
	Defines the value of the type property of a mouseFocusChange event object. 
	
This event has the following properties:
| Property | Value | 
|---|---|
bubbles | true | 
cancelable | true; call the preventDefault() method 
	to cancel default behavior. | 
currentTarget | The object that is actively processing the Event object with an event listener. | 
keyCode | 0; applies only to keyFocusChange events. | 
relatedObject | The complementary InteractiveObject instance that is affected by the change in focus. | 
shiftKey | false; applies only to keyFocusChange events. | 
target | The InteractiveObject instance that currently has focus. 
	The target is not always the object in the display list 
	that registered the event listener. Use the currentTarget 
	property to access the object in the display list that is currently processing the event.
	 | 
See also
FocusEventExample and 
 CustomSprite classes to show how focus can be used in conjunction with items drawn on the Stage to capture events and print information.  
 This example carries out the following tasks:
 child (of type Sprite) and childCount (of type uint).for loop creates five light blue squares at (0,0). It begins by
  assigning child to a new CustomSprite instance. Each time a CustomSprite
 object is created, the following happens:
     size property of type uint is set to 50 pixels and bgColor is set
                 to light blue. buttonMode and useHandCursor properties of the 
             Sprite class are set to true within the constructor.click is instantiated, along with the associated subscriber
             clickHandler().  The subscriber method creates a local variable target of
             type Sprite and assigns it whichever box was clicked. The Stage's focus is then assigned to 
             target.draw() method is called, which creates a 50 x 50 pixel square by
             calling the beginFill(), drawRect(), and endFill() methods of 
             the Graphics class and the instance properties.configureListeners() method is called, which instantiates three event 
         listeners/subscribers:
         focusIn/focusInHandler() is dispatched after the click event
             for whichever display list object (box) is clicked.focusOut/focusOutHandler() is dispatched when another box is clicked or 
             if the focus leaves the Stage (for example, by clicking outside Flash Player).keyFocusChange/keyFocusChangeHandler() is dispatched if you use the Tab key
             or the left-arrow or right-arrow keys to select a display list object. The keyFocusChangeHandler()
             method traps the left-arrow and right-arrow keys, however, and calls the preventDefault() method
             to disable them.for loop, each square is added to the display list and displayed (all in 
     the same area) by means of addChild().refreshLayout(), which distributes the orange
     squares across the top (y = 0) of the display with 5 pixels separating each square.
package {
    import flash.display.Sprite;
    import flash.display.DisplayObject;
    import flash.events.FocusEvent;
    import flash.events.IEventDispatcher;
    public class FocusEventExample extends Sprite {
        private var gutter:uint = 5;
        private var childCount:uint = 5;
        public function FocusEventExample() {
            var child:Sprite;
            for(var i:uint; i < childCount; i++) {
                child = new CustomSprite();
                configureListeners(child);
                addChild(child);
            }
            refreshLayout();
        }
        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
            dispatcher.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
            dispatcher.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
            dispatcher.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
        }
        private function refreshLayout():void {
            var ln:uint = numChildren;
            var child:DisplayObject = getChildAt(0);
            var lastChild:DisplayObject = child;
            for(var i:uint = 1; i < ln; i++) {
                child = getChildAt(i);
                child.x = lastChild.x + lastChild.width + gutter;
                lastChild = child;
            }
        }
        private function focusInHandler(event:FocusEvent):void {
            var target:CustomSprite = CustomSprite(event.target);
            trace("focusInHandler: " + target.name);
        }
        private function focusOutHandler(event:FocusEvent):void {
            var target:CustomSprite = CustomSprite(event.target);
            trace("focusOutHandler: " + target.name);
        }
        private function keyFocusChangeHandler(event:FocusEvent):void {
            if(event.keyCode == 39 || event.keyCode == 37){
                event.preventDefault()
            }
            var target:CustomSprite = CustomSprite(event.target);
            trace("keyFocusChangeHandler: " + target.name);
        }
        private function mouseFocusChangeHandler(event:FocusEvent):void {
            var target:CustomSprite = CustomSprite(event.target);
            trace("mouseFocusChangeHandler: " + target.name);
        }
    }
}
import flash.display.Sprite;
import flash.events.MouseEvent;
class CustomSprite extends Sprite {
    private var size:uint = 50;
    private var bgColor:uint = 0x00CCFF;
    public function CustomSprite() {
        buttonMode = true;
        useHandCursor = true;
        addEventListener(MouseEvent.CLICK, clickHandler);
        draw(size, size);
    }
    private function draw(w:uint, h:uint):void {
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, w, h);
        graphics.endFill();
    }
    private function clickHandler(event:MouseEvent):void {
        var target:Sprite = Sprite(event.target);
        trace("clickHandler: " + target.name);
        stage.focus = target;
    }
}