[Edge]。→、
EventTarget は DOM インターフェイスで、イベントを受け取ることや、リスナーを持つことができるオブジェクトが実装しています。
イベント ターゲット: Element、Document、Window。他に XMLHttpRequest、AudioNode、AudioContext など。
イベント ターゲットにイベント ハンドラーを設定するのに onイベント名 プロパティや、スクリプトを使用することもできます。
| イベント名 | イベント名を記述する。click、focus、mousemove、resize、…。
|
|---|---|
| イベントハンドラー | 関数名、または関数を記述する。 |
HTML:
<SPAN id=IdTest>SPAN要素</SPAN>
JavaScript:
function Job(eve){ //click イベントの処理: 得られる引数は 1 つで、イベント オブジェクトが入ります。トが入る。
D=eve; //…
E=eve.target; //イベントが起きた要素の取得。
alert(E.tagName);
}
IdTest.onclick=Job; //click イベントの割り当て。
JavaScript: 他の方法: 関数式の利用:
IdTest.onclick=function(eve){ //click イベントの処理: 得られる引数は 1 つで、イベント オブジェクトが入ります。
D=eve; //…
E=eve.target; //イベントが起きた要素の取得。
alert(E.tagName);
}
JavaScript: 他の方法: アロー関数式を使用:
IdTest.onclick= eve=>{ //click イベントの処理: 得られる引数は 1 つで、イベント オブジェクトが入ります。
D=eve; //…
A=eve.target; //イベントが起きた要素の取得。
alert(E.tagName);
}
EventTarget.addEventListener():
HTML:
<SPAN id=IdTest>SPAN要素</SPAN>
JavaScript:
function Job(eve){ //click イベントの処理: 得られる引数は 1 つで、イベント オブジェクトが入ります。
D=eve; //…
A=eve.target; //イベントが起きた要素の取得。
alert(E.tagName);
}
IdTest.addEventListener('click', Job); //click イベントの割り当て。
JavaScript: 他の方法: 関数式の利用:
IdTest.addEventListener('click', function(eve){ //click イベントの割り当てと処理:
D=eve; //…
A=eve.target; //イベントが起きた要素の取得。
alert(E.tagName);
});
JavaScript: 他の方法: アロー関数式を使用:
IdTest.addEventListener('click', eve=>{ //click イベントの割り当てと処理:
D=eve; //…
A=eve.target; //イベントが起きた要素の取得。
alert(E.tagName);
});
addEventListener() では同じイベントでも複数のイベントリスナーを割り当てられます。つまり、
function Job1(eve){ //click イベントの処理1:
…
}
function Job2(eve){ //click イベントの処理2:
…
}
IdTest.addEventListener('click', Job1); //click イベントの割り当て。
IdTest.addEventListener('click', Job2); //click イベントの割り当て。
そして特定のイベントリスナーを削除する:
IdTest.removeEventListener('click', Job1); //
関数式、アロー関数式利用の場合はイベントリスナーの削除は不明。…成功していない。