flex イベントの監視と発生時の挙動とイベントの強制発生

2011/08/17

頻繁に使う「イベントの監視と発生時に実行する関数」と「無理矢理イベントを発生させる関数」。

イベント発生時の挙動(addEventListener)

[対象].addEventListener([イベント], [関数]);
※[対象]に[イベント]が発生するか監視する。さらに発生後、[関数]を実行。

例えば、「dataGrid」のidが「rcn」とする。
その「id=rcn」で「イベント:列をクリック(選択)した」ときに「recatnap」という関数を実行とするなら下記のようになる。

rcn.addEventListener(GridSelectionEvent.SELECTION_CHANGE, recatnap);

後述の「dispatchEvent」での絡みでイベントは適当な名前をつけることもできる。
そのときはイベント名を「"」でくくってあげる。

例えば、「dataGrid」のidが「rcn」とする。
その「id=rcn」で「イベント:tips」が発生したときに「recatnap」という関数を実行とするなら下記のようになる。

rcn.addEventListener("tips", recatnap);

イベントの強制発生(dispatchEvent)

[対象].dispatchEvent([イベント]);
※[対象]で[イベント]が発生したことにする。

例えば、「dataGrid」のidが「rcn」とする。
その「id=rcn」で「イベント:列をクリック(選択)した」ことにするなら下記のようになる。

rcn.dispatchEvent(GridSelectionEvent.SELECTION_CHANGE);
※この例えだと訳わかんない。まぁ、ボタンがあって「ボタンをクリックしたことにする」とかで使える。

イベントは適当な名前にできる。
※この場合だとそのイベントの発生を監視する何かが必要。「Application」タグ内で「creationComplete」で関数を作ってそこで「addEventListener」で監視しておくとか。

例えば、「dataGrid」のidが「rcn」とする。
その「id=rcn」で「イベント:tips」を発生したことにするなら下記のようになる。

rcn.dispatchEvent("tips");

新着(ニュース関連以外)

2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。
2017-11-09
PCでプッシュ通知ってのをしたい。