Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
Llamar a una función basada en cambios de valor de campo de entrada en JavaScript

De alguna manera mi mismo cerró, porque la pregunta no estaba clara para todos. Estoy repitiendo la misma pregunta. Aquí tengo este campo input cuando el usuario está escribiendo. Llamo a la function handleMessagePress(e) continuamente, y cuando el usuario deja de typing , llamo a stop() function después de cinco segundos. Pero mi pregunta es cuando el usuario comienza a escribir, necesito llamar a la handleMessagePress(e) function solo una vez y esperar 5 seconds y si el usuario todavía está escribiendo, la misma function debería llamarse automáticamente; de lo contrario, la stop function debería llamarse automáticamente. En palabras más simples, después de 5 segundos, mi programa debería poder verificar que el usuario esté escribiendo o no, si el usuario está escribiendo o no si está escribiendo, llame a handleMessagePress(e) , de lo contrario, llame a stop function automáticamente.

 <input placeholder="type your message" id="messageInputField" onKeyPress={(e) => handleMessagePress(e)}/> let myInput = document.getElementById("messageInputField"); let timer; if (myInput) { myInput.addEventListener("keyup", () => { clearTimeout(timer); timer = setTimeout(stop, 5000); }); } const stop=()=>{ console.log("user stop typing"); } const handleMessagePress = (e) => { console.log("user is typing"); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

 let myInput = document.getElementById("messageInputField"); let timer; let executeHandlePress = true; // flag to watch handle press function execution if (myInput) { myInput.addEventListener("keyup", () => { clearTimeout(timer); timer = setTimeout(stop, 5000); }); } const stop=()=>{ console.log("user stop typing"); } const handleMessagePress = (e) => { if(!executeHandlePress){ // if flag false, return return; } console.log("user is typing"); // if true execute executeHandlePress = false; // toggle flag to false setTimeout(()=>{ executeHandlePress = true; // reset after 5 seconds }, 5000); }
 <input placeholder="type your message" id="messageInputField" onKeyPress=" handleMessagePress(event)" />

about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda