2013-04-23 6 views

答えて

7

これらのプロパティはJavaScriptのマウスイベントと同等です。 JavaScriptイベントはDOMをトラバースします(「バブリング」と呼ばれます)。 targetは、イベントが最初に送出されたオブジェクトです。 currentTargetは、イベントハンドラがアタッチされているオブジェクトです。

あなたは、このHTMLの構造を有する:

<ul id="list"> 
    <li>Entry 1</li> 
    <li>Entry 2</li> 
</ul> 

を、あなたは(どちらかJavaScriptやダーツを経由して、コンセプトは同じである)<ul>要素にクリックハンドラを追加します。

「Entry 2」をクリックすると、クリックハンドラが呼び出されます(イベントが「バブルアップ」するため)。 target<li>エレメント、currentTarget<ul>エレメントとなります。どちらを使用する必要があるかは、ハンドラーで何をしたいかによって異なります。例えば、targetを使用して「エントリー2」を隠すか、currentTargetを使用してリスト全体を隠すことができます。

relatedTargetで参照される要素は、MouseEventの種類によって異なります。一覧はevent.relatedTargetです。上記の例では、クリックイベントに関連するターゲットがないため、nullとなります。

関連MDNリンク: event.currentTargetevent.target

関連する問題