Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Detectar que deja de escribir

Estas en el tema de Detectar que deja de escribir en el foro de Javascript en Foros del Web. Hola a todos. Me gustaría poder hacer lo siguiente: Cuando el navegador detecte que ha dejado de escribir se ejecute una función, si uso el ...
  #1 (permalink)  
Antiguo 07/05/2014, 00:59
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Detectar que deja de escribir

Hola a todos.

Me gustaría poder hacer lo siguiente:

Cuando el navegador detecte que ha dejado de escribir se ejecute una función, si uso el evento keyup se ejecuta cada vez que se pulsa una tecla y no lo quiero así.

Por ejemplo, hacer algo como que si no se pulsa una tecla, después de escribir, durante 4 segundos, se ejecuta la función.

¿alquien me puede ayudar?

Muchas Gracias.
  #2 (permalink)  
Antiguo 07/05/2014, 01:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Detectar que deja de escribir

Utiliza las funciones setInterval, para ejecutar una función cada X tiempo y clearInterval, para limpiar el intervalo y en otra línea, volverlo a activar.

Código Javascript:
Ver original
  1. input.addEventListener("keyup", function(){
  2.     clearInterval(intervalo); //Al escribir, limpio el intervalo
  3.     intervalo = setInterval(function(){ //Y vuelve a iniciar
  4.         alert ("Has dejado de escribir"); //Cumplido el tiempo, se muestra el mensaje
  5.         clearInterval(intervalo); //Limpio el intervalo
  6.     }, 4000);
  7. }, false);



Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 07/05/2014 a las 11:38 Razón: Corrección ortográfica
  #3 (permalink)  
Antiguo 07/05/2014, 23:58
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: Detectar que deja de escribir

Muchas gracias
  #4 (permalink)  
Antiguo 11/05/2014, 08:37
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Detectar que deja de escribir

Estoy aprendiendo JS y muy bueno el ejemplo @Alexis88 !

Para que no moleste cada 4 segundos me toco poner el clearInterval() debajo del serInterval()

Código Javascript:
Ver original
  1. <html>
  2. <head></head>
  3. <body>
  4.  
  5. <textarea id="tx"></textarea>
  6.  
  7. <!-- al final -->
  8. <script type="text/javascript">
  9.     tx.addEventListener("keyup", function()
  10.     {  
  11.        
  12.         intervalo = setInterval(function(){ //Y vuelve a iniciar
  13.             alert ("Has dejado de escribir"); //Cumplido el tiempo, se muestra el mensaje
  14.             clearInterval(intervalo); //Limpio el intervalo
  15.         }, 1500);
  16.     }, false);
  17.    
  18.     clearInterval(intervalo); //Al escribir, limpio el intervalo
  19.    
  20. </script>  
  21. </body>
  22.    
  23. </html>
__________________
Salu2!
  #5 (permalink)  
Antiguo 11/05/2014, 11:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Detectar que deja de escribir

Italico76, la línea 18 del código que presentas, solamente se ejecutará al cargar la ventana. Si deseas que se ejecute cuando se escriba, tienes que incluirla en la función.

¡Ah!, bienvenido a JS.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 11/05/2014, 12:00
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Detectar que deja de escribir

Cita:
Iniciado por Alexis88 Ver Mensaje
Italico76, la línea 18 del código que presentas, solamente se ejecutará al cargar la ventana. Si deseas que se ejecute cuando se escriba, tienes que incluirla en la función.
Cierto...... como que se me olvida el tema de que todo es por eventos


Cita:
Iniciado por Alexis88 Ver Mensaje
¡Ah!, bienvenido a JS.
Je...gracias, ahi vamos aprendiendo mucho de sus aportes
__________________
Salu2!
  #7 (permalink)  
Antiguo 09/04/2015, 20:21
 
Fecha de Ingreso: abril-2003
Mensajes: 587
Antigüedad: 21 años
Puntos: 5
Respuesta: Detectar que deja de escribir

muy bueno gracias!
__________________
Si la vida te da la espalda tocale el culo

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 10:16.