removeEventListener
で登録解除したはずのコールバック関数が呼ばれてしまう事象が発生しました。
以下のようなコードとなります。
function clickedCallback() {
console.log('click event called.');
}
// コールバック関数登録時
document.addEventListener('click', clickedCallback, true);
// 登録解除
document.removeEventListener('click', clickedCallback);
登録時に第3引数の useCapture
に true
を設定した場合、解除時にも設定する必要があります。
以下のように指定することで無事解除することが出来ました。
第3引数のデフォルト値は false
のようです。バブリングフェーズのコールバック関数が解除されていたようです。
// 登録解除
document.removeEventListener('click', clickedCallback, true);