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");

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

2017-11-09
PCでプッシュ通知ってのをしたい。
2017-11-06
PHPのバージョンを上げたらwikiが壊れたっぽい。
2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。
2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた
2017-07-10
FuelPHPの1.8をダウンロードして使っていたらセッションが使えないということに気付いた。