EventTarget.removeEventListener()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Remove o event listener anteriormente registrado com EventTarget.addEventListener().

Sintaxe

target.removeEventListener(type, listener[, useCapture])
type

Uma string indicando o tipo de evento a ser removido.

listener

A função EventListener a ser removida do event target.

useCapture Optional

Indica quando o EventListener a ser removido foi registrado ou não como capturing listener. Caso este parâmetro seja omitido, o valor false será assumido por padrão.

Se um listener foi registrado duas vezes, uma com o parâmetro capture especificado e outra sem, cada um deve ser removido separadamente. A remoção de um capturing listener não afeta a versão non-capturing do mesmo listener, e vice versa.

Nota: useCapture era obrigatório em versões mais antigas dos navegadores. Para ampla compatibilidade, sempre informe o parâmetro useCapture.

Notas

Se um EventListener é removido de um EventTarget enquanto este está processando um evento, esse não será disparado pelas current actions. Um EventListener não será invocado para o evento o qual foi registrado depois de ter sido removido, porém pode ser registrado novamente.

Chamar removeEventListener() com argumentos que não identifiquem nenhum EventListener registrado no EventTarget não tem qualquer efeito.

Exemplo

Este é um exemplo de como associar e remover um event listener.

js
var div = document.getElementById("div");
var listener = function (event) {
  /* faça alguma coisa... */
};
div.addEventListener("click", listener, false);
div.removeEventListener("click", listener, false);

Especificações

Specification
DOM Standard
# ref-for-dom-eventtarget-removeeventlistener②

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também