HTML DOM removeEventListener()Método

元素对象参考手册Objeto Element

Ejemplo

Eliminar el evento "mousemove" añadido por el método addEventListener():

// Agregar un controlador de eventos al elemento <div>
document.getElementById("myDIV").addEventListener("mousemove", myFunction);

// Eliminar el controlador de eventos del elemento <div>
document.getElementById("myDIV").removeEventListener("mousemove", myFunction);

Pruébalo »

Definición y uso

El método removeEventListener() se utiliza para eliminar el controlador de eventos agregado poraddEventListener()el método.

Nota:Si desea eliminar un controlador de eventos, la función utilizada por addEventListener() debe ser una función externa, como se muestra en el ejemplo anterior (myFunction).

Funciones anónimas, como "document.removeEventListener("event", function(){ myScript});" este evento no se puede eliminar.


Soporte del navegador

Los números en la tabla indican el número de versión del primer navegador compatible con este método.

Método
removeEventListener() 1.0 9.0 1.0 1.0 7.0

Nota:Internet Explorer 8 y versiones anteriores de IE no admiten el método removeEventListener(), y Opera 7.0 y versiones anteriores de Opera tampoco lo admiten. Sin embargo, para estos navegadores que no admiten esta función, puede utilizardetachEvent()el método para eliminar el controlador de eventos agregado por el método attachEvent() (consulte "Más ejemplos" para conocer una solución compatible con varios navegadores).


Sintaxis

element.removeEventListener(event, function, useCapture)

Valores de los parámetros

Parameter Description
event Obligatorio. El nombre del evento que se va a eliminar.

Nota:No utilice el prefijo "on". Por ejemplo, use "click", no "onclick".

Consejo:Para todos los eventos del DOM HTML, puede consultar nuestromanual de referencia del objeto Event del DOM HTML.。
function Obligatorio. Especifica la función que se va a eliminar.
useCapture Opcional. Valor booleano que especifica la fase en la que se elimina el controlador de eventos.

Valores posibles:
  • true - elimina el controlador de eventos en la fase de captura
  • false - predeterminado. Elimina el controlador de eventos en la fase de burbujeo.
Nota:Si agrega un controlador de eventos dos veces, una en la fase de captura y otra en la fase de burbujeo, debe eliminar ese controlador por separado.

Detalles técnicos

Versión del DOM: DOM Level 2 events
Valor de retorno: No tiene valor de retorno.
Registro de cambios: En Firefox 6 y Opera 12.0, el parámetro useCapture es opcional. (En Chrome, IE y Safari siempre ha sido opcional).


Más ejemplos

Ejemplo

Si el navegador no admite el método removeEventListener(), puede implementarlo con el método detachEvent().

Este ejemplo demuestra la solución compatible con varios navegadores:

var x = document.getElementById("myDIV");
if (x.removeEventListener) { // Todos los navegadores, excepto IE 8 y versiones anteriores
    x.removeEventListener("mousemove", myFunction);
} else if (x.detachEvent) { // IE 8 y versiones anteriores
    x.detachEvent("onmousemove", myFunction);
}

Pruébalo »


Páginas relacionadas

Tutorial de JavaScript:HTML DOM EventListener

Manual de referencia de JavaScript:document.removeEventListener()


元素对象参考手册Objeto Element

Otras extensiones