2011-08-25 22 views
7

Quiero mostrar un cuadro de alerta(), solo 10 segundos después de que el usuario deja de escribir en un cuadro de texto.Cómo restablecer el valor de tiempo de setTimeout() en Javascript?

utilicé siguiente código javscript para abrir Alertbox -

function txtkeyup(e){ 
    setTimeout(function() { 
    alert('submit?'); 
    }, 10000); 
    return true; 
} 

y el código HTML es -

<input type='textbox' name='searchquery' value='' onkeyup='return txtkeyup();'> 

Ahora el navegador está dando Alertbox, 10 segundos después de cada evento onkeyup en la caja de texto. Para hacer solo una solicitud, tengo que restablecer el temporizador setTimeout() en cada evento de teclado para que se muestre la caja de alertas si el usuario no presiona un botón durante 10 segundos.

¿Cómo se puede restablecer el temporizador de previamente llamado 'setTimeout()' en javscript? Por favor, me guía ..

Respuesta

15

var myTimeout = setTimeout (...)

para desactivarla simplemente escribir clearTimeout(myTimeout);

+0

gracias .. !! eso funcionó bien para mí. – Vin

+1

Puede encerrar el texto entre los palos de retroceso (') para formatearlo como código (lo he hecho por usted en esta respuesta). –

Cuestiones relacionadas