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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

例を表示



パブリックプロパティ
 プロパティ定義元
 Inheritedbubbles : Boolean
[読み取り専用] イベントがバブリングイベントかどうかを示します。
Event
 Inheritedcancelable : Boolean
[読み取り専用] イベントに関連付けられた動作を回避できるかどうかを示します。
Event
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritedcurrentTarget : Object
[読み取り専用] イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
Event
  AIR-only direction : String
focusIn イベントのフォーカス方向を指定します。
FocusEvent
 InheritedeventPhase : uint
[読み取り専用] イベントフローの現在の段階です。
Event
  isRelatedObjectInaccessible : Boolean
true の場合、relatedObject プロパティは、セキュリティサンドボックスに関連する理由により null に設定されます。
FocusEvent
  keyCode : uint
keyFocusChange イベントをトリガするために押されたキーのキーコード値です。
FocusEvent
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
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, direction:String = "none")
フォーカスイベントに関する特定の情報を含む Event オブジェクトを作成します。
FocusEvent
  
[override] FocusEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
FocusEvent
 Inherited
formatToString(className:String, ... arguments):String
カスタム ActionScript 3.0 Event クラスに toString() メソッドを実装するためのユーティリティ関数です。
Event
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
イベントで preventDefault() メソッドが呼び出されたかどうかを確認します。
Event
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
イベントのデフォルト動作をキャンセルできる場合に、その動作をキャンセルします。
Event
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
Event
 Inherited
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
Event
  
[override] FocusEvent オブジェクトのすべてのプロパティを含むストリングを返します。
FocusEvent
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
パブリック定数
 定数定義元
 InheritedACTIVATE : String = "activate"
[静的] ACTIVATE 定数は、type プロパティ(activate イベントオブジェクト)の値を定義します。
Event
 InheritedADDED : String = "added"
[静的] Event.ADDED 定数は、added イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[静的] Event.ADDED_TO_STAGE 定数は、type プロパティ (addedToStage イベントオブジェクト) の値を定義します。
Event
 InheritedCANCEL : String = "cancel"
[静的] Event.CANCEL 定数は、cancel イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCHANGE : String = "change"
[静的] Event.CHANGE 定数は、type プロパティ (change イベントオブジェクト) の値を定義します。
Event
 InheritedCLEAR : String = "clear"
[静的] Event.CLEAR 定数は、clear イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCLOSE : String = "close"
[静的] Event.CLOSE 定数は、close イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only CLOSING : String = "closing"
[静的] Event.CLOSING 定数は、closing イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCOMPLETE : String = "complete"
[静的] Event.COMPLETE 定数は、complete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCONNECT : String = "connect"
[静的] Event.CONNECT 定数は、connect イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCOPY : String = "copy"
[静的] copy イベントオブジェクトの type プロパティ値を定義します。
Event
 InheritedCUT : String = "cut"
[静的] cut イベントオブジェクトの type プロパティ値を定義します。
Event
 InheritedDEACTIVATE : String = "deactivate"
[静的] Event.DEACTIVATE 定数は、deactivate イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedDISPLAYING : String = "displaying"
[静的] Event.DISPLAYING 定数は、displaying イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedENTER_FRAME : String = "enterFrame"
[静的] Event.ENTER_FRAME 定数は、enterFrame イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[静的] Event.EXIT_FRAME 定数は、exitFrame イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only EXITING : String = "exiting"
[静的] Event.EXITING 定数は、type プロパティ (exiting イベントオブジェクト) の値を定義します。
Event
  FOCUS_IN : String = "focusIn"
[静的] focusIn イベントオブジェクトの type プロパティ値を定義します。
FocusEvent
  FOCUS_OUT : String = "focusOut"
[静的] focusOut イベントオブジェクトの type プロパティ値を定義します。
FocusEvent
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[静的] Event.FRAME_CONSTRUCTED 定数は、frameConstructed イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedFULLSCREEN : String = "fullScreen"
[静的] Event.FULL_SCREEN 定数は、fullScreen イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[静的] Event.HTML_BOUNDS_CHANGE 定数は、htmlBoundsChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[静的] Event.HTML_DOM_INITIALIZE 定数は、htmlDOMInitialize イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[静的] Event.HTML_RENDER 定数は、htmlRender イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedID3 : String = "id3"
[静的] Event.ID3 定数は、id3 イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedINIT : String = "init"
[静的] Event.INIT 定数は、init イベントオブジェクトの type プロパティの値を定義します。
Event
  KEY_FOCUS_CHANGE : String = "keyFocusChange"
[静的] keyFocusChange イベントオブジェクトの type プロパティ値を定義します。
FocusEvent
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[静的] Event.LOCATION_CHANGE 定数は、locationChange イベントオブジェクトの type プロパティの値を定義します。
Event
  MOUSE_FOCUS_CHANGE : String = "mouseFocusChange"
[静的] mouseFocusChange イベントオブジェクトの type プロパティ値を定義します。
FocusEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[静的] Event.MOUSE_LEAVE 定数は、mouseLeave イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[静的] Event.NETWORK_CHANGE 定数は、networkChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedOPEN : String = "open"
[静的] Event.OPEN 定数は、open イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedPASTE : String = "paste"
[静的] Event.PASTE 定数は、paste イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedREMOVED : String = "removed"
[静的] Event.REMOVED 定数は、removed イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[静的] Event.REMOVED_FROM_STAGE 定数は、removedFromStage イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRENDER : String = "render"
[静的] Event.RENDER 定数は、render イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRESIZE : String = "resize"
[静的] Event.RESIZE 定数は、resize イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSCROLL : String = "scroll"
[静的] Event.SCROLL 定数は、scroll イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSELECT : String = "select"
[静的] Event.SELECT 定数は、select イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSELECT_ALL : String = "selectAll"
[静的] Event.SELECT_ALL 定数は、selectAll イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[静的] Event.SOUND_COMPLETE 定数は、soundComplete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[静的] Event.TAB_CHILDREN_CHANGE 定数は、tabChildrenChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[静的] Event.TAB_ENABLED_CHANGE 定数は、tabEnabledChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[静的] Event.TAB_INDEX_CHANGE 定数は、tabIndexChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedUNLOAD : String = "unload"
[静的] Event.UNLOAD 定数は、unload イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[静的] Event.USER_IDLE 定数は、userIdle イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[静的] Event.USER_PRESENT 定数は、userPresent イベントオブジェクトの type プロパティの値を定義します。
Event
プロパティの詳細
AIR-only directionプロパティ
direction:String

ランタイムバージョン: AIR 1.0

focusIn イベントのフォーカス方向を指定します。



実装
    public function get direction():String
    public function set direction(value:String):void

関連項目

isRelatedObjectInaccessibleプロパティ 
isRelatedObjectInaccessible:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 10

true の場合、relatedObject プロパティは、セキュリティサンドボックスに関連する理由により、null に設定されます。relatedObject の公称値が別のサンドボックスにある DisplayObject への参照である場合、このサンドボックスの境界をまたいで両方向に権限がある場合を除いては、relatedObjectnull に設定されます。権限を確立するには、SWF ファイルから Security.allowDomain() を呼び出すか、イメージファイルのサーバーからポリシーファイルを提供し、LoaderContext.checkPolicyFile プロパティを設定してイメージを読み込みます。



実装
    public function get isRelatedObjectInaccessible():Boolean
    public function set isRelatedObjectInaccessible(value:Boolean):void

関連項目

keyCodeプロパティ 
keyCode:uint

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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



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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

このプロパティの値は、関連オブジェクトがない場合、または関連オブジェクトはあるがアクセスできないセキュリティサンドボックスの中にある場合の 2 つの状況の場合に、null になる可能性があります。isRelatedObjectInaccessible() プロパティを使用して、どの理由が適用されるかを判別します。



実装
    public function get relatedObject():InteractiveObject
    public function set relatedObject(value:InteractiveObject):void

関連項目

shiftKeyプロパティ 
shiftKey:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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, direction:String = "none")

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

パラメータ
type:String — イベントのタイプです。有効な値は次のとおりです。 FocusEvent.FOCUS_IN, FocusEvent.FOCUS_OUT, FocusEvent.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 イベントをトリガするために押されたキーのコードを示します。
 
direction:String (default = "none") — ターゲットのインタラクティブオブジェクトがアクティブにされるのがどの方向からであるかを示します。すべてのイベントに対して FocusDirection.NONE (デフォルト値) に設定します (focusIn イベントを除く)。

関連項目

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 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
ランタイムバージョン: AIR 1.0 Flash Player 9

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

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

プロパティ
bubblestrue
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
keyCode0。keyFocusChange イベントにのみ適用されます。
relatedObjectフォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。
shiftKeyfalsekeyFocusChange イベントにのみ適用されます。
targetフォーカスを受け取った InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
directionフォーカスが割り当てられた元の方向です。このプロパティは、direction パラメータ(ステージの assignFocus() メソッドのパラメータ)の値を報告します。他の何らかの手段でフォーカスが変更された場合、この値は常に FocusDirection.NONE になります。focusIn イベントにのみ適用されます。他のすべてのフォーカスイベントの場合、値は FocusDirection.NONE になります。

関連項目

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

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

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

関連項目

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

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

プロパティ
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"

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

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

プロパティ
bubblestrue
cancelabletruepreventDefault() メソッドを呼び出してデフォルトの動作を取り消します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
keyCode0。keyFocusChange イベントにのみ適用されます。
relatedObjectフォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。
shiftKeyfalsekeyFocusChange イベントにのみ適用されます。
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/flex/3_jp/langref/flash/events/FocusEvent.html