• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

114
Vistas
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 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

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 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda