パッケージ | flash.events |
クラス | public class FocusEvent |
継承 | FocusEvent Event Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
-
FocusEvent.FOCUS_IN
-
FocusEvent.FOCUS_OUT
-
FocusEvent.KEY_FOCUS_CHANGE
-
FocusEvent.MOUSE_FOCUS_CHANGE
プロパティ | 定義元 | ||
---|---|---|---|
bubbles : Boolean [読み取り専用]
イベントがバブリングイベントかどうかを示します。 | Event | ||
cancelable : Boolean [読み取り専用]
イベントに関連付けられた動作を回避できるかどうかを示します。 | Event | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
currentTarget : Object [読み取り専用]
イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 | Event | ||
direction : String
focusIn イベントのフォーカス方向を指定します。 | FocusEvent | ||
eventPhase : uint [読み取り専用]
イベントフローの現在の段階です。 | Event | ||
isRelatedObjectInaccessible : Boolean
true の場合、relatedObject プロパティは、セキュリティサンドボックスに関連する理由により null に設定されます。 | FocusEvent | ||
keyCode : uint
keyFocusChange イベントをトリガーするために押されたキーのキーコード値です。 | FocusEvent | ||
relatedObject : InteractiveObject
フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスへの参照です。 | FocusEvent | ||
shiftKey : Boolean
Shift キーモディファイアがアクティブになっているかどうかを示します。アクティブな場合、値は true です。 | FocusEvent | ||
target : Object [読み取り専用]
イベントターゲットです。 | Event | ||
type : 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 | ||
[オーバーライド]
FocusEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。 | FocusEvent | ||
カスタム ActionScript 3.0 Event クラスに toString() メソッドを実装するためのユーティリティ関数です。 | Event | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
イベントで preventDefault() メソッドが呼び出されたかどうかを確認します。 | Event | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
イベントのデフォルト動作をキャンセルできる場合に、その動作をキャンセルします。 | Event | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。 | Event | ||
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。 | Event | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
[オーバーライド]
FocusEvent オブジェクトのすべてのプロパティを含むストリングを返します。 | FocusEvent | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
定数 | 定義元 | ||
---|---|---|---|
FOCUS_IN : String = "focusIn" [静的]
focusIn イベントオブジェクトの type プロパティ値を定義します。 | FocusEvent | ||
FOCUS_OUT : String = "focusOut" [静的]
focusOut イベントオブジェクトの type プロパティ値を定義します。 | FocusEvent | ||
KEY_FOCUS_CHANGE : String = "keyFocusChange" [静的]
keyFocusChange イベントオブジェクトの type プロパティ値を定義します。 | FocusEvent | ||
MOUSE_FOCUS_CHANGE : String = "mouseFocusChange" [静的]
mouseFocusChange イベントオブジェクトの type プロパティ値を定義します。 | FocusEvent |
direction | プロパティ |
isRelatedObjectInaccessible | プロパティ |
isRelatedObjectInaccessible:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 10, Flash Lite 4 |
true
の場合、relatedObject
プロパティは、セキュリティサンドボックスに関連する理由により、null
に設定されます。relatedObject
の公称値が別のサンドボックスにある DisplayObject への参照である場合、このサンドボックスの境界をまたいで両方向に権限がある場合を除いては、relatedObject
は null
に設定されます。権限を確立するには、SWF ファイルから Security.allowDomain()
を呼び出すか、イメージファイルのサーバーからポリシーファイルを提供し、LoaderContext.checkPolicyFile
プロパティを設定してイメージを読み込みます。
実装
public function get isRelatedObjectInaccessible():Boolean
public function set isRelatedObjectInaccessible(value:Boolean):void
関連する API エレメント
keyCode | プロパティ |
relatedObject | プロパティ |
relatedObject:InteractiveObject
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスへの参照です。例えば、focusOut
イベントが発生した場合、relatedObject
はフォーカスを得た InteractiveObject インスタンスを表します。
このプロパティの値は、関連オブジェクトがない場合、または関連オブジェクトはあるがアクセスできないセキュリティサンドボックスの中にある場合の 2 つの状況の場合に、null
になる可能性があります。isRelatedObjectInaccessible()
プロパティを使用して、どの理由が適用されるかを判別します。
実装
public function get relatedObject():InteractiveObject
public function set relatedObject(value:InteractiveObject):void
関連する API エレメント
shiftKey | プロパティ |
shiftKey:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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, Flash Lite 4 |
フォーカスイベントに関する特定の情報を含む 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 イベントを除く)。
|
関連する API エレメント
clone | () | メソッド |
toString | () | メソッド |
override public function toString():String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
FocusEvent オブジェクトのすべてのプロパティを含むストリングを返します。ストリングは次の形式です。
[FocusEvent type=value bubbles=value cancelable=value relatedObject=value shiftKey=value] keyCode=value]
String — FocusEvent オブジェクトのすべてのプロパティを含むストリングです。
|
FOCUS_IN | 定数 |
public static const FOCUS_IN:String = "focusIn"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
type
プロパティ(focusIn
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
keyCode | 0。keyFocusChange イベントにのみ適用されます。 |
relatedObject | フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。 |
shiftKey | false 。keyFocusChange イベントにのみ適用されます。 |
target | フォーカスを受け取った InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
|
direction | フォーカスが割り当てられた元の方向です。このプロパティは、direction パラメーター(ステージの assignFocus() メソッドのパラメーター)の値を報告します。他の何らかの手段でフォーカスが変更された場合、この値は常に FocusDirection.NONE になります。focusIn イベントにのみ適用されます。他のすべてのフォーカスイベントの場合、値は FocusDirection.NONE になります。 |
関連する API エレメント
FOCUS_OUT | 定数 |
public static const FOCUS_OUT:String = "focusOut"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
type
プロパティ(focusOut
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
keyCode | 0。keyFocusChange イベントにのみ適用されます。 |
relatedObject | フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。 |
shiftKey | false 。keyFocusChange イベントにのみ適用されます。 |
target | フォーカスを失った InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
|
関連する API エレメント
KEY_FOCUS_CHANGE | 定数 |
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
type
プロパティ(keyFocusChange
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | true |
cancelable | true 。デフォルトの動作を取り消すには、preventDefault() メソッドを呼び出します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
keyCode | keyFocusChange イベントをトリガーするために押されたキーのキーコード値です。 |
relatedObject | フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。 |
shiftKey | Shift キーモディファイアがアクティブになっている場合は true 、それ以外の場合は false です。 |
target | 現在フォーカスを持っている InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
|
関連する API エレメント
MOUSE_FOCUS_CHANGE | 定数 |
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
type
プロパティ(mouseFocusChange
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | true |
cancelable | true 。デフォルトの動作を取り消すには、preventDefault() メソッドを呼び出します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
keyCode | 0。keyFocusChange イベントにのみ適用されます。 |
relatedObject | フォーカスの変更の影響を受ける補完的な InteractiveObject インスタンスです。 |
shiftKey | false 。keyFocusChange イベントにのみ適用されます。 |
target | 現在フォーカスを持っている InteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
|
関連する API エレメント
FocusEventExample
クラスと CustomSprite
クラスを使用して、イベントのキャプチャや情報の出力のために、ステージに描画されたアイテムとフォーカスを組み合わせて使用する方法を示します。この例では、次の処理を実行します。
- Sprite 型のプロパティ
child
と uint 型のプロパティchildCount
を宣言します。 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()
の各メソッドとインスタンスプロパティが呼び出されます。
- uint 型の
- for ループでは、
configureListeners()
メソッドが呼び出され、3 つのイベントリスナーとサブスクライバをインスタンス化します。focusIn
/focusInHandler()
は、クリックされた表示リストオブジェクト(ボックス)に対するclick
イベントの後で送出されます。focusOut
/focusOutHandler()
は、別のボックスがクリックされたとき、またはフォーカスがステージを離れたとき(例えば、Flash Player の外側がクリックされた場合)に送出されます。keyFocusChange
/keyFocusChangeHandler()
は、Tab キー、左矢印キー、または右矢印キーによって表示リストオブジェクトが選択されたときに送出されます。keyFocusChangeHandler()
メソッドは、左矢印キーと右矢印キーをトラップします。ただし、これに加えて、この 2 つのキーを無効にするためにpreventDefault()
メソッドを呼び出します。
for
ループでは、addChild()
を使用して各四角形が表示リストに追加され、すべて同じ領域に表示されます。- 次に、コンストラクターが
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; } }
Tue Jun 12 2018, 10:34 AM Z