javascript - react - window location change event
Cómo detener "setInterval" (4)
Esta pregunta ya tiene una respuesta aquí:
- Stop setInterval llamada en JavaScript 8 respuestas
¿Cómo detengo e inicio setInterval
?
Supongamos que tengo un área de textarea
. Quiero detener setInterval
en el enfoque y reiniciar setInterval
en desenfoque (con jQuery).
Esto se basa en la respuesta de CMS. La pregunta era si el temporizador debía reiniciarse en la imagen borrosa y se detenía en el foco, así que lo moví un poco:
$(function () {
var timerId = 0;
$(''textarea'').focus(function () {
clearInterval(timerId);
});
$(''textarea'').blur(function () {
timerId = setInterval(function () {
//some code here
}, 1000);
});
});
Guarde el retorno de setInterval
en una variable y setInterval
más tarde para borrar el intervalo.
var timer = null;
$("textarea").blur(function(){
timer = window.setInterval(function(){ ... whatever ... }, 2000);
}).focus(function(){
if(timer){
window.clearInterval(timer);
timer = null
}
});
setInterval devuelve una identificación que puede usar para cancelar el intervalo con clearInterval ()
clearInterval
almacenar la identificación del temporizador del intervalo cuando lo inicie, luego usará este valor para detenerlo, utilizando la función clearInterval
:
$(function () {
var timerId = 0;
$(''textarea'').focus(function () {
timerId = setInterval(function () {
// interval function body
}, 1000);
});
$(''textarea'').blur(function () {
clearInterval(timerId);
});
});