メソッド フレームあり | フレームなし

mx.events
EventDispatcher クラス


直接の既知のサブクラス
           mx.charts.chartClasses.ChartComponentmx.events.UIEventDispatcher

EventDispatcher クラス

EventDispatcher クラスは、Flash Player と関連のないイベントの送出とリッスンを実装する Mix-in クラスです。dispatchEvent()addEventListener()、および removeEventListener() の各メソッドは、OperationRepeaterValidator など、このようなイベントを送り出すクラスに含まれています。mouse イベントなど、Flash Player に関するイベントは、関連する Mix-in クラスである UIEventDispatcher で処理されます。これは、EventDispatcher の拡張です。



メソッド
       addEventListener( eventType:String, eventListener) :  Void
指定のオブジェクトまたは関数を、このオブジェクトからブロードキャストされる指定の型のイベントに対するリスナーとして登録します。
       dispatchEvent( eventObj:Object) :  Boolean
この型のイベントを受信するために addEventListener() を通じて登録されたこのオブジェクトのすべてのリスナーに、指定のイベントオブジェクトをブロードキャストします。
staticinitialize( object:Object) :  Void
指定のオブジェクトにメソッドを追加して、イベントの送出とリッスンをサポートします。
       removeEventListener( eventType:String, eventListener) :  Void
指定のオブジェクトまたは関数を、このオブジェクトからブロードキャストされる指定の型のイベントに対するリスナーとして登録解除します。



メソッドの詳細

addEventListener

addEventListener( eventType:String, eventListener) :  Void

指定のオブジェクトまたは関数を、このオブジェクトからブロードキャストされる指定の型のイベントに対するリスナーとして登録します。指定のリスナーが既に追加されている場合は、まず削除されてから再び追加されます。

オブジェクトから dispatchEvent(eventObj) を呼び出すと、eventObj.type で指定されたイベント型のすべてのリスナーに、eventObj がブロードキャストされます。たとえば、myButton.dispatchEvent({type:"click"}) を実行すると、オブジェクト {type:"click", target:myButton}myButton.addEventListener("click", listener) によって登録したリスナーにブロードキャストされます。

リスナーにブロードキャストされたイベントがドキュメントオブジェクトなどのオブジェクトである場合、そのオブジェクトの handleEvent() メソッドが存在すれば、handleEvent() が呼び出され、メソッドの this にリスナーオブジェクトが設定されます。handleEvent() にはこのイベントオブジェクトがただ 1 つの引数として渡されます。次に、このメソッドは自身の引数の type プロパティを調べ、どの型のイベントを受信したのかを判断します。また、target プロパティを調べ、どのオブジェクトからイベントが送出されたのかを判断します。handleEvent() は値を返しません。

リスナーにブロードキャストされたイベントが関数、つまり、なんらかのクラスのメソッドか、または匿名関数である場合は、そのリスナー関数が呼び出され、関数の this に送出元のオブジェクトが設定されます。リスナー関数にはこのイベントオブジェクトがただ 1 つの引数として渡されます。リスナー関数は値を返しません。

リスナー関数が実行されるコンテキストで上記の規則に従った場合、たとえば myButton_click() などのドキュメントメソッドを記述し、このメソッドを myButton.addEventListener("click", myButton_click) を使用して myButton のリスナーの 1 つとして登録すると、myButton_click() が呼び出されたときに、this はドキュメントではなく myButton になります。通常はこのような動作を指定することはありません。これは、<mx:Button id="myButton" click="myButton_click()"/> と記述した場合に、MXML コンパイラによって、myButton_click() がドキュメントのコンテキストの中で実行されることが保証されるためです。ユーティリティメソッド mx.utils.Delegate.create() を使用すると、リスナーメソッドが実行されるコンテキストをボタンからドキュメントに変更できます。

リスナーが複数ある場合、各リスナーにブロードキャストされるイベントオブジェクトの順序は不定であり、変化する可能性があります。

パラメータ
    eventType:String - "click""change" など、イベントの種類を指定するストリングです。
    eventListener - 上記の種類のイベントを受け取るオブジェクトまたは関数です。

関連項目
    mx.utils.Delegate


dispatchEvent

dispatchEvent( eventObj:Object) :  Boolean

この型のイベントを受信するために addEventListener() を通じて登録されたこのオブジェクトのすべてのリスナーに、指定のイベントオブジェクトをブロードキャストします。

イベントオブジェクトとして送出するオブジェクトには、"click" などのイベントの型を指定する type プロパティが最低限必要です。イベントオブジェクトには、ブロードキャストされる前に target プロパティが追加されます。このプロパティは送出元オブジェクトへの参照です。

たとえば、myButton.dispatchEvent({type:"click"}) を実行すると、オブジェクト {type:"click", target:myButton}myButton.addEventListener("click", listener) によって登録したリスナーにブロードキャストされます。

リスナー側でどのようにイベントを受信するのかの詳細については、addEventListener() を参照してください。

eventObj.bubblestrue の場合、イベントは親チェーンまで伝播され、各祖先からブロードキャストされます。

イベントは直ちにブロードキャストされ、すべてのリスナーがイベントを受信した後に、dispatchEvent() 呼び出しが制御を戻します。

パラメータ
    eventObj:Object - イベントを説明するオブジェクトです。少なくとも type プロパティを持っている必要があります。


initialize

static  initialize( object:Object) :  Void

指定のオブジェクトにメソッドを追加して、イベントの送出とリッスンをサポートします。

パラメータ
    object:Object - メソッドを受け取るオブジェクトです。


removeEventListener

removeEventListener( eventType:String, eventListener) :  Void

指定のオブジェクトまたは関数を、このオブジェクトからブロードキャストされる指定の型のイベントに対するリスナーとして登録解除します。指定のリスナーが既に削除されている場合は、何も実行されません。

パラメータ
    eventType:String - "click""change" など、イベントの種類を指定するストリングです。
    eventListener - 上記の種類のイベントを受け取るオブジェクトまたは関数です。