close

no-invalid-remove-event-listener

Unreleased

Configuration

PresetConfigured Value
✅ unicornPlugin.configs.recommended"error"
rslint.config.ts
import { defineConfig, unicornPlugin } from '@rslint/core';

export default defineConfig([
  unicornPlugin.configs.recommended,
  {
    rules: {
      'unicorn/no-invalid-remove-event-listener': 'error',
    },
  },
]);

Rule Details

Prevent calling EventTarget#removeEventListener() with an inline function or the result of an inline .bind() call. removeEventListener() must receive the same function reference that was passed to addEventListener().

Examples of incorrect code for this rule:

window.removeEventListener("click", listener.bind(window));
window.removeEventListener("click", () => {});
window.removeEventListener("click", function () {});

Examples of correct code for this rule:

const listener = () => {};
window.addEventListener("click", listener);
// ...
window.removeEventListener("click", listener);

Original Documentation