パッケージflash.events
public class FocusEvent
継承FocusEvent Inheritance Event Inheritance Object

ユーザーが表示リストの 1 つのオブジェクトから別のオブジェクトにフォーカスを変更すると、Flash® Player によって FocusEvent オブジェクトが送出されます。次の 4 種類のフォーカスイベントがあります。

例の表示



パブリックプロパティ
 プロパティ定義
 Inheritedbubbles : Boolean
イベントがバブリングイベントかどうかを示します。
Event
 Inheritedcancelable : Boolean
イベントに関連付けられたビヘイビアを回避できるかどうかを示します。
Event
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritedcurrentTarget : Object
イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
Event
 InheritedeventPhase : uint
イベントフローの現在の段階です。
Event
  keyCode : uint
keyFocusChange イベントをトリガするために押されたキーのキーコード値です。
FocusEvent
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  relatedObject : InteractiveObject
フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスへの参照です。
FocusEvent
  shiftKey : Boolean
Shift キーモディファイアがアクティブになっているかどうかを示します。アクティブな場合、値は true です。
FocusEvent
 Inheritedtarget : Object
イベントターゲットです。
Event
 Inheritedtype : String
イベントの型です。
Event
パブリックメソッド
 メソッド定義
  FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)
フォーカスイベントに関する特定の情報を含む Event オブジェクトを作成します。
FocusEvent
  clone():Event
FocusEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
FocusEvent
 InheritedformatToString(className:String, ... arguments):String
カスタム Event クラスに toString() メソッドを実装するためのユーティリティ関数です。
Event
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedisDefaultPrevented():Boolean
イベントで preventDefault() が呼び出されたかどうかをチェックします。
Event
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedpreventDefault():void
イベントのデフォルトビヘイビアをキャンセルできる場合に、そのビヘイビアをキャンセルします。
Event
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedstopImmediatePropagation():void
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
Event
 InheritedstopPropagation():void
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
Event
  toString():String
FocusEvent オブジェクトのすべてのプロパティを含むストリングを返します。
FocusEvent
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
パブリック定数
 定数定義
 InheritedACTIVATE : String = "activate"
[static] activate イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedADDED : String = "added"
[static] added イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCANCEL : String = "cancel"
[static] cancelイベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCHANGE : String = "change"
[static] change イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCLOSE : String = "close"
[static] close イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCOMPLETE : String = "complete"
[static] complete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCONNECT : String = "connect"
[static] connect イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] deactivate イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] enterFrame イベントオブジェクトの type プロパティの値を定義します。
Event
  FOCUS_IN : String = "focusIn"
[static] focusIn イベントオブジェクトの type プロパティの値を定義します。
FocusEvent
  FOCUS_OUT : String = "focusOut"
[static] focusOut イベントオブジェクトの type プロパティの値を定義します。
FocusEvent
 InheritedID3 : String = "id3"
[static] id3 イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedINIT : String = "init"
[static] init イベントオブジェクトの type プロパティの値を定義します。
Event
  KEY_FOCUS_CHANGE : String = "keyFocusChange"
[static] keyFocusChange イベントオブジェクトの type プロパティの値を定義します。
FocusEvent
  MOUSE_FOCUS_CHANGE : String = "mouseFocusChange"
[static] mouseFocusChange イベントオブジェクトの type プロパティの値を定義します。
FocusEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] mouseLeave イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedOPEN : String = "open"
[static] open イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedREMOVED : String = "removed"
[static] removed イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRENDER : String = "render"
[static] render イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRESIZE : String = "resize"
[static] resize イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSCROLL : String = "scroll"
[static] scroll イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSELECT : String = "select"
[static] select イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] soundComplete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] tabChildrenChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] tabEnabledChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] tabIndexChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedUNLOAD : String = "unload"
[static] unload イベントオブジェクトの type プロパティの値を定義します。
Event
プロパティの詳細
keyCodeプロパティ
keyCode:uint  [read-write]

keyFocusChange イベントをトリガするために押されたキーのキーコード値です。

実装
    public function get keyCode():uint
    public function set keyCode(value:uint):void
relatedObjectプロパティ 
relatedObject:InteractiveObject  [read-write]

フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスへの参照です。たとえば、focusOut イベントが発生した場合、relatedObject はフォーカスを得た InteractiveObject インスタンスを表します。

実装
    public function get relatedObject():InteractiveObject
    public function set relatedObject(value:InteractiveObject):void
shiftKeyプロパティ 
shiftKey:Boolean  [read-write]

Shift キーモディファイアがアクティブになっているかどうかを示します。アクティブな場合、値は true です。これ以外の場合、値は false です。このプロパティは、FocusEvent のタイプが keyFocusChange の場合のみ使用されます。

実装
    public function get shiftKey():Boolean
    public function set shiftKey(value:Boolean):void
コンストラクタの詳細
FocusEvent()コンストラクタ
public 関数 FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)

フォーカスイベントに関する特定の情報を含む Event オブジェクトを作成します。イベントリスナーには Event オブジェクトがパラメータとして渡されます。

パラメータ
type:String — イベントのタイプです。有効な値は次のとおりです。FocusEvent.FOCUS_INFocusEvent.FOCUS_OUTFocusEvent.KEY_FOCUS_CHANGE、および FocusEvent.MOUSE_FOCUS_CHANGE
 
bubbles:Boolean (default = true) — Event オブジェクトがイベントフローのバブリング段階で処理されるかどうかを判断します。
 
cancelable:Boolean (default = false) — Event オブジェクトがキャンセル可能かどうかを判断します。
 
relatedObject:InteractiveObject (default = null) — フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスを示します。たとえば、focusIn イベントが発生した場合、relatedObject はフォーカスを失った InteractiveObject を表します。
 
shiftKey:Boolean (default = false) — Shift キーモディファイアがアクティブになっているかどうかを示します。
 
keyCode:uint (default = 0)keyFocusChange イベントをトリガするために押されたキーのコードを示します。

関連項目

メソッドの詳細
clone()メソッド
public override function clone():Event

FocusEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。

戻り値
Event — 元のオブジェクトと同じプロパティ値を含む新しい FocusEvent オブジェクトです。
toString()メソッド 
public override function toString():String

FocusEvent オブジェクトのすべてのプロパティを含むストリングを返します。ストリングは次の形式です。

[FocusEvent type=value bubbles=value cancelable=value relatedObject=value shiftKey=value]

戻り値
String — FocusEvent オブジェクトのすべてのプロパティを含むストリングです。
定数の詳細
FOCUS_IN定数
public static const FOCUS_IN:String = "focusIn"

focusIn イベントオブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblestrue
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
keyCode0。keyFocusChange イベントにのみ適用されます。
relatedObjectフォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。
shiftKeyfalsekeyFocusChange イベントにのみ適用されます。
targetフォーカスを受け取った InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。

関連項目

FOCUS_OUT定数 
public static const FOCUS_OUT:String = "focusOut"

focusOut イベントオブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblestrue
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
keyCode0。keyFocusChange イベントにのみ適用されます。
relatedObjectフォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。
shiftKeyfalsekeyFocusChange イベントにのみ適用されます。
targetフォーカスを失った InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。

関連項目

KEY_FOCUS_CHANGE定数 
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"

keyFocusChange イベントオブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblestrue
cancelabletruepreventDefault() メソッドを呼び出してデフォルトの動作を取り消します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
keyCodekeyFocusChange イベントをトリガするために押されたキーのキーコード値です。
relatedObjectフォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。
shiftKeyShift キーモディファイアがアクティブになっている場合は true、それ以外の場合は false です。
target現在フォーカスを持っている InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。

関連項目

MOUSE_FOCUS_CHANGE定数 
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"

mouseFocusChange イベントオブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblestrue
cancelabletruepreventDefault() メソッドを呼び出してデフォルトの動作を取り消します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
keyCode0。keyFocusChange イベントにのみ適用されます。
relatedObjectフォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。
shiftKeyfalsekeyFocusChange イベントにのみ適用されます。
target現在フォーカスを持っている InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。

関連項目


次の例では FocusEventExample および CustomSprite クラスを使用して、イベントのキャプチャや情報の出力のために、ステージに描画されたアイテムとフォーカスを組み合わせて使用する方法を示します。 この例では、次の処理を実行します。
  1. Sprite 型のプロパティ child と uint 型のプロパティ childCount を宣言します。
  2. for ループによって、(0,0) の位置に明るい青色の四角形が 5 つ作成されます。ここでは、まず、 新しい CustomSprite インスタンスに child を割り当てます。CustomSprite オブジェクトが 作成されるたびに、次の処理が実行されます。
    • uint 型の size プロパティが 50 ピクセルに設定され、bgColor が 明るい青色に設定されます。
    • Sprite クラスの buttonMode プロパティとuseHandCursor プロパティは、 コンストラクタ内で true に設定されます。
    • タイプが click のイベントリスナーが、関連するサブスクライバ clickHandler() と共にインスタンス化されます。 このサブスクライバメソッドは、Sprite 型のローカル変数 target を作成し、 クリックされたボックスにこの変数を割り当てます。続いて、ステージのフォーカスを target.
    • draw() メソッドが呼び出され、50 × 50 ピクセルの四角形が作成されます。そのために、 Graphics クラスの beginFill()drawRect()、および endFill() メソッドと インスタンスプロパティが呼び出されます。
  3. for ループでは、configureListeners() メソッドが呼び出され、3 つのイベントリスナーとサブスクライバを インスタンス化します。
    • focusIn および focusInHandler() は、クリックされた表示リストオブジェクト (ボックス) に対する click イベント の後で送出されます。
    • focusOut および focusOutHandler() は、別のボックスがクリックされたとき、または フォーカスがステージを離れたとき (たとえば、Flash Player の外側がクリックされた場合) に送出されます。
    • keyFocusChange および keyFocusChangeHandler() は、Tab キー、 左矢印キーまたは右矢印キーによって表示リストオブジェクトが選択されたときに送出されます。keyFocusChangeHandler() メソッドは、左矢印キーと右矢印キーをトラップします。ただしこれに加えて、これらのキーを無効にするために preventDefault() メソッドが 呼び出されます。
  4. for ループでは、addChild() を使用して、各四角形が表示リストに追加され、 すべて同じ領域に表示されます。
  5. 次に、コンストラクタが refreshLayout() を呼び出します。 これにより、オレンジ色の四角形が、ディスプレイの最上部 (y = 0) に横一列に 5 ピクセルおきに表示されます。
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;
    }
}