0

ターゲット インスタンスとは何ですか? 私は少し混乱しています。それは「パラメータ」ですか?

このコードの目的はevent.target何ですか? それは何をするためのものか?

addEventListener(MouseEvent.MOUSE_OVER , hover);
function hover(event:MouseEvent):void
{
    event.target.alpha = .4;
    trace("Now over " + event.target.name);
}

addEventListener(MouseEvent.MOUSE_OUT , normal);
function normal(event:MouseEvent):void
{
    event.target.apha = 1;
    trace("Now Off " + event.target.name);
}
4

2 に答える 2

0

targetのプロパティですEvent

ハンドラー関数 ( を参照するときに参照する関数addEventListener) では、引数を 1 つ受け入れる必要がありEventます。関連する Event がディスパッチされた結果としてハンドラ関数が呼び出されると、その Event への参照が与えられます。

function hover(event:MouseEvent):void
// ------------^^^^^ This parameter refers to the dispatched Event.

その参照を通じて、ディスパッチされた Event のプロパティにアクセスできます。そのうちの 1 つはtarget前述のとおりです。

イベントのターゲット。このプロパティには、ターゲット ノードが含まれます。たとえば、ユーザーが [OK] ボタンをクリックすると、ターゲット ノードはそのボタンを含む表示リスト ノードになります。

ほとんどの場合、通常はcurrentTarget、イベント リスナを追加したオブジェクトを参照する Event のプロパティを使用する方が適切です。

于 2013-06-23T22:45:24.473 に答える
0

イベント ターゲットは、イベントが発生したオブジェクトです。イベント フローの場合、ここでフェーズがキャプチャからバブリングに切り替わります。

したがって、マウス オーバー/アウト イベントの場合、これはマウスが実際にホバリングしている場所です。キャプチャ/バブリングのため、これはイベント リスナーをアタッチしたオブジェクトである必要はありません ( 経由でアクセスできますcurrentTarget)。


あなたのコメントに応えて:

event発生した特定のイベント(この場合はマウスオーバー/アウトイベント)に関する情報を保持するオブジェクトであり、イベントハンドラに引数として渡されるため、イベントに関する情報を照会できます。

タイプのオブジェクトには、この特定のイベント インスタンスでターゲットとして機能するオブジェクトへの参照Eventであるプロパティtargetがあります。マウス イベントの場合、これは通常、表示リスト内の何らかのビジュアル オブジェクトです (たとえば、別のムービークリップ、形状、またはボタン)。これらの表示オブジェクトには、透明度の値を取得または設定するプロパティがあり、表示時に透明または不透明にします。alpha

したがって、すべてをチェーンすると、event.target.alpha最初にイベント インスタンスを取得し、そのターゲットを取得してから、そのターゲットのアルファ値を取得します。同様にevent.target.name、イベント ターゲットの名前を取得するものがあります。

于 2013-06-23T20:43:47.907 に答える