Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
¿Cómo interceptar clic y hacer algo antes y después?

Estoy tratando de interceptar el clic de un botón para hacer algo antes y después.

¿Cómo desencadenar el clic original?

 const el = document.querySelector(selector); if (!el) { return; } # Save original onclick const onclick = el.onclick; # Change onlick el.onclick = async function (event) { console.log('Before click'); # TODO: call the orignal onclick? <-------- ??? onclick.call(event); console.log('After click'); }

me sale el siguiente resultado

 BEFORE CLICK Uncaught (in promise) TypeError: onclick is null
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Ese es un comportamiento un poco extraño. Pero creo que puedes usar: eventos onhover y onblur . https://www.w3schools.com/cssref/sel_hover.asp

about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado que solo puede tener un controlador onclick a la vez (al usar Element.onclick ), solo necesitamos invocar la función anterior dentro de nuestra nueva función. Aquí está la versión modificada de su código como probablemente pretenda:

 var selector = ".blue"; window.onload = function() { const el = document.querySelector(selector); if (!el) { return; } // Add an initial onclick to test el.onclick = function(event) { console.log("first onclick called"); }; // Save original onclick const onclick = el.onclick; // Change onlick el.onclick = function(event) { console.log('Before click'); // Call the orignal onclick if (onclick !== null) { onclick(event); } console.log('After click'); } }
 <div class="red">Red</div> <div class="blue">Blue (click me)</div>

También tenga en cuenta que puede usar EventTarget.addEventListener para agregar múltiples eventListener en su lugar sin necesidad de manejar el antiguo eventListener

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda