パッケージ | mx.utils |
クラス | public class OnDemandEventDispatcher |
継承 | OnDemandEventDispatcher Object |
実装 | IEventDispatcher |
サブクラス | AsyncListView, LayoutBase, NumericDataProvider, OverrideBase |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
メソッド | 定義元 | ||
---|---|---|---|
コンストラクターです。 | OnDemandEventDispatcher | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | OnDemandEventDispatcher | ||
イベントをイベントフローに送出します。 | OnDemandEventDispatcher | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | OnDemandEventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | OnDemandEventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | OnDemandEventDispatcher |
OnDemandEventDispatcher | () | コンストラクター |
public function OnDemandEventDispatcher()
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
コンストラクターです。
addEventListener | () | メソッド |
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントリスナーは、特定のタイプのイベント、段階、および優先度に関する表示リスト内のすべてのノードに登録できます。
イベントリスナーが正常に登録された後に、addEventListener()
をさらに呼び出して優先度を変更することはできません。リスナーの優先度を変更するには、最初に removeEventListener()
を呼び出す必要があります。その後、同じリスナーを新しい優先度レベルで再度登録できます。
リスナーが登録された後に、addEventListener()
(type
または useCapture
に別の値を設定)を再度呼び出すと、別のリスナー登録が作成されることに注意してください。例えば、最初にリスナーを登録するときに useCapture
を true
に設定すると、そのリスナーはキャプチャ段階のみでリスニングします。同じリスナーオブジェクトを使用して再度 addEventListener()
を呼び出すと(このとき、useCapture
に false
を設定)、異なる 2 つのリスナーが登録されます。1 つはキャプチャ段階でリスニングするリスナーで、もう 1 つはターゲット段階とバブリング段階でリスニングするリスナーです。
ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。
イベントリスナーが不要になった場合は、EventDispatcher.removeEventListener()
を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクターは参照を有するオブジェクトを削除しないため、登録されているイベントリスナーに関係したオブジェクトはメモリから自動的に除去されません。
EventDispatcher インスタンスをコピーしても、それに関連付けられているイベントリスナーはコピーされません。新しく作成したノードにイベントリスナーが必要な場合は、ノードを作成した後に、リスナーを関連付ける必要があります。ただし、EventDispatcher インスタンスを移動した場合は、関連付けられているイベントリスナーも一緒に移動されます。
イベントがノードで処理されるときに、イベントリスナーがそのノードに登録中であれば、イベントリスナーは現在の段階ではトリガーされません。ただし、バブリング段階など、イベントフローの後の段階でトリガーすることができます。
イベントがノードで処理されているときにイベントリスナーがノードから削除された場合でも、イベントは現在のアクションによってトリガーされます。削除された後は、その後の処理で再び登録されない限り、イベントリスナーは二度と呼び出されません。
パラメーター
type:String — イベントのタイプです。
| |
listener:Function — イベントを処理するリスナー関数です。次の例のように、この関数は、Event オブジェクトを唯一のパラメーターとして受け取り、何も返さないようにします。
| |
useCapture:Boolean (default = false ) — リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階で動作するかどうかを判断します。useCapture を true に設定すると、リスナーはキャプチャ段階のみでイベントを処理し、ターゲット段階またはバブリング段階では処理しません。useCapture を false に設定すると、リスナーはターゲット段階またはバブリング段階のみでイベントを処理します。3 つの段階すべてでイベントを受け取るには、addEventListener() を 2 回呼び出します。useCapture を true に設定して 1 度呼び出し、useCapture を false に設定してもう一度呼び出します。
| |
priority:int (default = 0 ) — イベントリスナーの優先度レベルです。優先度は、32 ビット整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が n のすべてのリスナーは、優先度が n-1 のリスナーよりも前に処理されます。 複数のリスナーに対して同じ優先度が設定されている場合、それらは追加された順番に処理されます。 デフォルトの優先度は 0 です。
| |
useWeakReference:Boolean (default = false ) — リスナーへの参照が強参照と弱参照のいずれであるかを判断します。デフォルトである強参照の場合は、リスナーのガベージコレクションが回避されます。弱参照では回避されません。 クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の |
dispatchEvent | () | メソッド |
public function dispatchEvent(event:Event):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
イベントをイベントフローに送出します。イベントターゲットは EventDispatcher オブジェクトです。これに対して dispatchEvent()
が呼び出されます。
パラメーター
event:Event — イベントフローに送出されるイベントオブジェクトです。
|
Boolean — true を返します(イベントで preventDefault() が呼び出されない限り)。呼び出された場合は false を返します。
|
hasEventListener | () | メソッド |
public function hasEventListener(type:String):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。これにより、EventDispatcher オブジェクトがイベントタイプの処理をイベントフロー階層のどこで変更したかを判断できます。特定のイベントタイプが実際にイベントリスナーをトリガーするかどうかを判別するには、IEventDispatcher.willTrigger()
を使用します。
hasEventListener()
と willTrigger()
の違いは、hasEventListener()
では自身が属するオブジェクトのみ検証され、willTrigger()
では type
パラメーターで指定されたイベントのイベントフロー全体が検証されることです。
パラメーター
type:String — イベントのタイプです。
|
Boolean — 指定したタイプのリスナーが登録されている場合は true 、それ以外の場合は false です。
|
removeEventListener | () | メソッド |
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
EventDispatcher オブジェクトからリスナーを削除します。対応するリスナーが EventDispatcher オブジェクトに登録されていない場合は、このメソッドを呼び出しても効果はありません。
パラメーター
type:String — イベントのタイプです。
| |
listener:Function — 削除するリスナーオブジェクトです。
| |
useCapture:Boolean (default = false ) — リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階に対して登録されたかどうかを示します。リスナーがキャプチャ段階だけでなくターゲット段階とバブリング段階にも登録されている場合は、removeEventListener() を 2 回呼び出して両方のリスナーを削除する必要があります。1 回は useCapture を true に設定し、もう 1 回は useCapture を false に設定する必要があります。
|
willTrigger | () | メソッド |
public function willTrigger(type:String):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。指定されたタイプのイベントがこの EventDispatcher オブジェクトまたはその子孫に送出されたときに、イベントリスナーがイベントフローの任意の段階でトリガーされる場合、このメソッドは true
を返します。
hasEventListener()
と willTrigger()
の違いは、hasEventListener()
では自身が属するオブジェクトのみ検証され、willTrigger()
では type
パラメーターで指定されたイベントのイベントフロー全体が検証されることです。
パラメーター
type:String — イベントのタイプです。
|
Boolean — 指定したタイプのリスナーがトリガーされた場合は true 、それ以外の場合は false です。
|
Tue Jun 12 2018, 10:34 AM Z