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

149
Views
Ejecutar la función solo una vez para un elemento en particular

Estoy creando una aplicación de tareas sencillas y soy nuevo en JavaScript y estoy atascado en un problema.

Estoy tratando de ejecutar la función solo una vez para un ID de elemento en particular. me gusta,

Hay 5 divs con IDs 1,2,3,4,5 . entonces estoy accediendo a ellos por className y luego su ID.

Luego estoy almacenando su identificación en una variable y almacenándola para evitar que la función se ejecute con la identificación anterior.

página.html

 function myFunction() { // Used for getting last element of all the classes var element = Array.from(document.querySelectorAll(".fields")).pop(); var previousId = element.id; var executed = false if (previousId === element.id) { if (!executed) { executed = true; console.log("Run only once"); console.log(previousId); } } }
 <input type="text" id="1" oninput="myFunction(id)" class="fields"> <input type="text" id="2" class="fields">

¿Qué estoy tratando de hacer?

Estoy tratando de ejecutar la función solo una vez para el campo de entrada actual que el usuario está escribiendo.

Intenté eliminar if (previousId === element.id) { y ejecutar solo if(!executed){ pero tampoco funcionó.

Pero cada vez que escribo en el campo de entrada, se ejecuta cada vez que presiono la tecla.

Lo he intentado muchas veces pero sigue sin funcionar. Cualquier ayuda sería muy apreciada. Gracias de antemano.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede guardar una matriz de identificación ya ejecutada y verificarla

 let alreadyRunned = [] function myFunction(id) { if (alreadyRunned.includes(id)) { return; } alreadyRunned = [...alreadyRunned, id] console.log("Run only once"); console.log(id); }
 <input type="text" id="1" oninput="myFunction(1)" class="fields"> <input type="text" id="2" class="fields" oninput="myFunction(2)">

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!