それはすべて、ディスプレイリストの階層によって異なります。
Flashのイベント構造は、その内部イベントモデルに基づいています。
ステージが最初に通知されるオブジェクトになり、その後、イベントはターゲットに到達するまでディスプレイリストを細流化します。このフェーズは、キャプチャフェーズと呼ばれます。これを有効にするには、イベントリスナーでに設定useCapture
し
ます。true
リッスンしているオブジェクトがイベントをターゲットとするオブジェクトの親でない限り、そうすることは無意味であることに注意してください。これは、イベントインターセプトと呼ばれます。
次のフェーズはターゲットフェーズです。これは、イベントで最も一般的に知られている動作です。ターゲットの表示オブジェクト(イベントのリスナーを持つオブジェクト)は、イベントを受信し、リスナーでコードを実行します。
最終段階は
バブリング段階と呼ばれます。これは、イベントが受信された後、イベントが表示リストをバブルアップするとき
です。オブジェクトの子によってディスパッチされたイベントをリッスンする方法を知る必要があるため、イベントバブリングはカスタムイベントをディスパッチするために非常に重要です。
イベントをディスパッチするとき、私は通常次の構文を使用します(これEvent.CHANGE
は単なる一般的な例です)。
Object.dispatchEvent(new Event("CHANGE", true, false));
はObject
、ディスパッチ元のオブジェクトです。最初のパラメーターは、ディスパッチするイベントです。2番目はbubbles
パラメータです。最後はcancelable
プロパティです。Event.cancelable
を介してイベントのデフォルトアクション(つまり、マウスクリック)を防ぐために使用されますEvent.preventDefault()
。
参照: