JS里关于setTimeout函数的中断问题

2024-12-17 11:15:42
推荐回答(4个)
回答1:

解决方法捕获按键的事件。


每个按键都对应一个ASCII码 比如回车的ASCII码是13 每个按键的ASCII码你可以在百度上查。

setTimeout() 方法的返回值是一个唯一的数值,如果你想要终止 setTimeout() 方法的执行,那就必须使用 clearTimeout() 方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个 setTimeout() 方法 (因为你可能同时调用了好几个 setTimeout() 方法),这样 clearTimeout() 方法就需要一个参数,这个参数就是 setTimeout() 方法的返回值 (数值),用这个数值来唯一确定结束哪一个 setTimeout() 方法

你的setTimeout(function(){location.reload();},1000)会返回一个值。
比如你要用回车结束setTimeout js代码如下。
function test(event,id) {
event = event || window.event;
if(event.keyCode==13) {
clearTimeout(id);
}
}
这里的ID 就是你 setTimeout方法的返回值。了解了吗?

回答2:

imeout(function(){location.reload();},1000) 你的这个里面可以添加一个id参数.比如这样
imeout(function(id){location.reload();},1000).
然后,你只要clearTimeout(id)就可以中断对应Id的计时器了..
至于你说的按键形式的,不用我多说了吧

回答3:

在按钮中写个单击事件。用 function stops(t)
clearTimeout(t);
看看是否可行。做个传叁的判断

回答4:

定时器清除clearTimeout(setTimeout(function(){location.reload();},1000))