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

155
Views
Cambiar todo onclick a detectores de eventos

Recientemente introdujimos la política de seguridad de contenido nonce en nuestro software. El problema es que tenemos cientos de elementos HTML que ejecutan Javascript en línea con eventos onclick y ya no queremos aceptar 'inseguro en línea'.

¿Hay alguna forma de obtener todos los elementos de una página con el conjunto de atributos onclick , leer el código que ejecutan y agregar algo como

 $(element).click(function(){ doAction(); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El atributo onclick se ejecuta antes que cualquier otro controlador de eventos de clic en su JS.

 function doSomething() { console.log('I do something') } var allElements = document.getElementsByTagName('*'); for (var i = 0; i < allElements.length; i++) { if (typeof allElements[i].onclick === 'function') { allElements[i].addEventListener("click", function(e) { console.log('Before I do something'); }); } }
 <div onclick="doSomething()">Click me to doSomething</div>

Una solución engañosa sería hacer algo como esto:

 function doSomething() { console.log('I do something') } var allElements = document.getElementsByTagName('*'); for (var i = 0; i < allElements.length; i++) { if (typeof allElements[i].onclick === 'function') { allElements[i].addEventListener("mousedown", function(e) { console.log('Before I do something'); }); } }
 <div onclick="doSomething()">Click me to doSomething</div>

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!