一尘不染

javascript:清除所有超时?

javascript

有没有办法清除给定窗口中的所有超时?我认为超时存储在window对象中的某个位置,但无法确认。

任何跨浏览器解决方案都是受欢迎的。


阅读 305

收藏
2020-05-01

共1个答案

一尘不染

它们不在window对象中,但是具有id,这些id是连续的整数。

因此,您可以像这样清除所有超时:

var id = window.setTimeout(function() {}, 0);

while (id--) {
    window.clearTimeout(id); // will do nothing if no timeout with id is present
}
2020-05-01