[Edge]。→、
呼び出されている イベント Event のイベント タイプと同じタイプの後続のリスナーの処理を抑止します。
同じイベント タイプで複数のリスナーが同じ要素に装着されている場合、追加された順番に呼び出されますが、そのような呼び出しの最中に stopImmediatePropagation() が呼び出された場合、残りのリスナーは呼び出されなくなります。
Event | イベント オブジェクト(¶Event、MouseEvent、…)。 |
---|
¶
HTML:
<SPAN id=IdSpan>[SPAN要素。ここでクリック]</SPAN>
JavaScript:
IdSpan.addEventListener('click', Job1); //SPAN要素にclickイベントで処理1を割り当てる。 IdSpan.addEventListener('click', Job2); //SPAN要素にclickイベントで処理2を割り当てる。 function Job1(eve){ //処理1:eve には Event オブジェクトが入る。 alert("Job1"); //処理1通過を表示。 eve.stopImmediatePropagation(); //eve と同様のイベントの他の処理を阻止する。 } function Job2(){ //処理2: alert("Job2"); //処理2通過を表示。 }
eve.stopImmediatePropagation() が有ると同じイベントタイプの処理2が実行されなくなる。
イベントを割り当てた順序に注意が必要なようです。最後の処理に stopImmediatePropagation() をしても意味が無い。