[Edge]。→、
EventTarget から、以前に EventTarget.addEventListener() で登録されたイベント リスナーを削除します。
削除されるイベント リスナーはイベントの型、イベント リスナー関数そのもの、マッチングプロセスに影響を与えるさまざまな任意のオプションを使用して識別します。 をご覧ください。
EventTarget | →EventTarget.addEventListener() | ||||||
---|---|---|---|---|---|---|---|
type | イベント リスナーを削除するイベントの型を表す文字列。addEventListener で指定したもの。 | ||||||
listener | イベント ターゲットから削除するイベント ハンドラーの EventListener 関数です。¶関数の識別名。 | ||||||
options | 省略可。オプションを表すオブジェクト。イベント リスナーに関する特性を指定します。
| ||||||
useCapture | 省略可。Boolean。削除する EventListener がキャプチャー リスナーとして登録されているかを指定します。
この引数を省略した場合は、既定値の false であるとみなします。 リスナーが 2 回登録されていてひとつはキャプチャー、もうひとつは非キャプチャーである場合は、それぞれを個別に削除します。キャプチャー リスナーを削除しても、同じリスナーの非キャプチャーリスナーには影響がありません。逆も同様です。 |
undefined です。
¶省く
この例は、click ベースのイベントリスナーを追加して mouseover ベースのイベントリスナーを削除する方法を示します。
var body = document.querySelector('body'), clickTarget = document.getElementById('click-target'), mouseOverTarget = document.getElementById('mouse-over-target'), toggle = false; function makeBackgroundYellow() { 'use strict'; if (toggle) { body.style.backgroundColor = 'white'; } else { body.style.backgroundColor = 'yellow'; } toggle = !toggle; } clickTarget.addEventListener('click', makeBackgroundYellow, false ); mouseOverTarget.addEventListener('mouseover', function () { 'use strict'; clickTarget.removeEventListener('click', makeBackgroundYellow, false ); });
HTML:
<SPAN id=IdSpan>SPAN要素。ここでクリックしてみて</SPAN>
JavaScript:
function Job(eve){ //クリックされたら処理する関数1: let Y=eve.target; //イベントが発生した要素の取得。 alert('Job():'+ Y.tagName +':'+ eve.type); //表示:処理名、タグ名、イベントのタイプ。 } function Job2(eve){ //クリックされたら処理する関数2: let Y=eve.target; //イベントが発生した要素の取得。 alert('Job2():'+ Y.tagName +':'+ eve.type); //表示:処理名、タグ名、イベントのタイプ。 } IdSpan.addEventListener('click',Job); //SPAN要素にclickイベントにJobが割り当てられる。 IdSpan.addEventListener('click',Job2); //SPAN要素にclickイベントにJob2が割り当てられる。
JavaScript: これを実行するとSPAN要素から Job を外す。
IdSpan.removeEventListener('click',Job); //SPAN要素にclickイベントのJobが削除される。
HTML:
<SPAN id=IdSpan>SPAN要素。ここでクリックしてみて</SPAN>
JavaScript:
IdSpan.addEventListener('click',function Job(eve){ let Y=eve.target; alert(Y.tagName +':'+ eve.type); }); //SPAN要素にclickイベントにJobが割り当てられる。
JavaScript: これを実行するとSPAN要素から処理を外してみるが…
IdSpan.removeEventListener('click',function(eve){}); //これで削除を試みたが、 //記述を変えてもイベントの削除はできなかった。 //listener は関数名を記述しないとだめなようだ。