Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!