設定したイベントを削除するには
要素.removeEventListener('イベント名', 関数名);
上記のように記述することで設定したイベントリスナーを削除できる。
removeEventListenerが反映されない
useCaptureの値が違う時は、removeEventListenerが効かないとのこと。
参考にさせて頂いたサイト:https://pisuke-code.com/js-not-work-removeeventlistener/
useCaptureとは、removeEventListenerの第三引数にあたる値のこと。
書き方としては、trueかfalseを記述するそうですが、何も書かなかった場合はデフォルトでfalseが設定されるとのことでした。
これがtrueの時は、windowからイベントが発生した要素に行きつくまでのイベント通知が有効になり、falseの時はイベントが発生した要素から、windowに行きつくまでのイベント通知が有効になるそう。
参考にさせて頂いたサイト:https://note.affi-sapo-sv.com/js-addeventlistener-usecapture.php#title2
useCaptureのことを調べてみましたが、理解ができないところが多かったので深堀りをして改めて補足させて頂くかもしれません。