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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

例を表示



パブリック プロパティ
 プロパティ定義元
 Inheritedbubbles : Boolean
[read-only] イベントがバブリングイベントかどうかを示します。
Event
 Inheritedcancelable : Boolean
[read-only] イベントに関連付けられた動作を回避できるかどうかを示します。
Event
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritedcurrentTarget : Object
[read-only] イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
Event
 InheritedeventPhase : uint
[read-only] イベントフローの現在の段階です。
Event
  keyCode : uint
keyFocusChange イベントをトリガするために押されたキーのキーコード値です。
FocusEvent
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  relatedObject : InteractiveObject
フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスへの参照です。
FocusEvent
  shiftKey : Boolean
Shift キーモディファイアがアクティブになっているかどうかを示します。アクティブな場合、値は true です。
FocusEvent
 Inheritedtarget : Object
[read-only] イベントターゲットです。
Event
 Inheritedtype : String
[read-only] イベントのタイプです。
Event
パブリック メソッド
 メソッド定義元
  
FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)
フォーカスイベントに関する特定の情報を含む Event オブジェクトを作成します。
FocusEvent
  
FocusEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
FocusEvent
 Inherited
formatToString(className:String, ... arguments):String
カスタム Event クラスに toString() メソッドを実装するためのユーティリティ関数です。
Event
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
イベントで preventDefault() が呼び出されたかどうかを確認します。
Event
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
イベントのデフォルトの動作をキャンセルできる場合に、その動作をキャンセルします。
Event
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
Event
 Inherited
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
Event
  
FocusEvent オブジェクトのすべてのプロパティを含むストリングを返します。
FocusEvent
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
パブリック 定数
 定数定義元
 InheritedACTIVATE : String = "activate"
[static] activate イベントオブジェクトの type プロパティ値を定義します。
Event
 InheritedADDED : String = "added"
[static] added イベントオブジェクトの type プロパティ値を定義します。
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] addedToStage イベントオブジェクトの 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
 InheritedFULLSCREEN : String = "fullScreen"
[static] fullScreen イベントオブジェクトの type プロパティ値を定義します。
Event
 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
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] removedFromStage イベントオブジェクトの 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]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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


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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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


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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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


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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

フォーカスイベントに関する特定の情報を含む 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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

関連項目

例の使用法
FocusEventExample.as

次の例では、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() メソッドは、左矢印キーと右矢印キーをトラップします。ただし、これに加えて、この 2 つのキーを無効にするために 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;
    }
}




 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/FocusEvent.html