If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Resumen: eventos del DOM

Agregar detectores de eventos

Para asegurarte de que el navegador llame a una función particular cuando ocurre un evento en un elemento, debes utilizar document.addEventListener:
var buttonEl = document.getElementById("clicker");
var onButtonClick = function() {
    console.log("Oh vaya vaya, hiciste clic sobre mí");
};
buttonEl.addEventListener("click", onButtonClick);
Puedes pasar muchas cadenas válidas como el primer argumento, consulta el artículo de tipos de eventos.
Si quieres información acerca del evento que ocurrió, puedes ver el objeto de evento que el navegador le pasa a la función callback:
var faceEl = document.getElementById("face");
var onFaceClick = function(e) {
    console.log("Hiciste clic en " + e.clientX + " , " + e.clientY);
};
faceEl.addEventListener("click", onFaceClick);
Hay muchas propiedades en el objeto de evento, puedes ver una lista completa aquí.
Si estás anulando el comportamiento de hacer clic en un vínculo o el de enviar un formulario, quizá quieras llamar a event.preventDefault() para evitar el comportamiento predeterminado del navegador.

Quitar detectores de eventos

Si ya no necesitas un detector de eventos en particular, lo puedes quitar por medio de removeEventListener:
var faceEl = document.getElementById("face");
var onFaceClick = function(e) {
    console.log("Hiciste clic en " + e.clientX + " , " + e.clientY);
};
faceEl.addEventListener("click", onFaceClick);
// después...
faceEl.removeEventListener("click", onFaceClick);

¿Quieres unirte a la conversación?

¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.