DOM

Event.stopImmediatePropagation() メソッド

 編集:2022.09.17 by T.A.

[Edge]。→

呼び出されている イベント Event のイベント タイプと同じタイプの後続のリスナーの処理を抑止します。

同じイベント タイプで複数のリスナーが同じ要素に装着されている場合、追加された順番に呼び出されますが、そのような呼び出しの最中に stopImmediatePropagation() が呼び出された場合、残りのリスナーは呼び出されなくなります。

構文
Event.stopImmediatePropagation()
Event イベント オブジェクト(¶EventMouseEvent、…)。
戻り値

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() をしても意味が無い。


テスト