3

我有一个函数,我在其中定义了很多 setTimeout() 函数。当用户按下按钮时,它开始执行。

我怎样才能取消它?

有没有办法取消所有超时(假设我有多个没有名字)

4

4 回答 4

4
// start timer
var timer = setTimeout(...);

// cancel timer
clearTimeout(timer);

请参阅https://developer.mozilla.org/en-US/docs/DOM/window.clearTimeout

于 2012-10-23T02:47:59.853 回答
0

将返回的计时器 ID 传递setTimeoutclearTimeout

于 2012-10-23T02:48:06.803 回答
0

使用清除超时:

var timer = setTimeout(function(){ alert("hello!"); }, 3000);   

...

clearTimeout(timer);
于 2012-10-23T02:49:15.940 回答
0

函数 setTimeout() 返回一个可用于清除超时的 ID。您必须跟踪超时,并手动清除它们:

var timeoutID = setTimeout( scheduledFunction, time );

// do stuff...

//clear the timeout:
clearTimeout( timeoutID  );
于 2012-10-23T02:52:39.550 回答