As3 - 子hereditイベントリスナー。どのように停止する?

私はas3初心者です。私はこの奇妙な問題を経験しています。 2つの子、テキスト(TextField)、画像アイコン(MyIcon型)を持つボタン(タイプ:MyButton)を作成しました。 次に、ボタンにeventlistener mouse_clickを追加しました。

テキストをクリックするとすぐに、ハンドラ関数のe.targetがMyButton型として認識されます。それ以外の場合、画像アイコン(ボタンの子)をクリックすると、e.targetはMyButtonではなくMyIconタイプになります。

どうすればこれを防ぐことができますか?すべてのクリックがボタンに記録されている必要があります。ここでは、ハンドラー機能に必要な属性をいくつか保存しています。

ありがとう。

0

1 答え

代わりに e.currentTarget を使用してください。 MouseEvent が現在バブリングしているオブジェクトを返します。 e.target は、 MouseEvent が実際に開始したオブジェクトを返します。

ここでイベントのバブリングをお読みください。把握することは非常に重要な概念です。

0
追加された
また、ボタンの mouseChildren プロパティを false に設定することもできます。これにより、ターゲットは常にボタン自体であることが保証されますが、ボタンの下位の子にはロールオーバーとボタンの効果が無効になります。 e.currentTargetを使用するとおそらく最高です。
追加された 著者 gthmb,