Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

227
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda