10

event.bubblesイベントのtofalseと、イベントの設定event.stopPropagation()または処理中の違いは何 stopImmediatePropagation()ですか?

AS3でFlex4を使用しています。

4

3 に答える 3

32

この記事にある情報-ActionScript3.0でのイベント処理の概要は、よりわかりやすく、理解しやすいものです。これにより、@JasonSturgesによる上記の受け入れられた回答が強化されます。

イベントバブリングとイベントキャプチャは、イベントの2つの面です。event.bubblesをfalseにすると、そのイベントは非バブルイベントとしてマークされます。

バブル:イベントがバブル(およびキャプチャ)するイベントであるかどうかを示します。これは、イベントがキャプチャまたはバブルフェーズを通過した、または通過していることを意味するのではなく、それが可能なイベントの一種です。

下の画像(上記の記事から)は、イベントがプロセスをどのように通過するかを示しています。

イベントのキャプチャとバブリング

との違いは、次の画像でより明確になりますstopPropagation()stopImmediatePropagation()

StopPropagation:

stopPropagation

StopImmidiatePropagation:

stopImmediatePropagation

于 2012-10-01T12:53:19.380 に答える
18

に設定bubblesするfalseと、イベントが表示リストをまったく表示しなくなります。

stopPropagation()stopImmediatePropagation()現在のイベントリスナーを最後にイベントを処理します。

stopPropagation()との違いはstopImmediatePropagation()stopImmediatePropagation()イベントが次のノードに移動するのを防ぐだけでなく、そのノード上の他のリスナーがイベントをキャプチャするのを防ぐことです。

于 2011-10-18T05:04:36.903 に答える
3

例を見てください:

object.addEventListener( MouseEvent.CLICK, functionOne );

object.addEventListener( MouseEvent.CLICK, functionTwo );

が含まれている場合functionOneevent.stopPropagation()functionTwoも呼び出されます。が含まれている場合event.stopImmediatePropagation()functionTwoは無視されます。

于 2012-03-30T06:13:40.647 に答える