为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕虎7371278 2019-02-12 15:10:18
JS里关于setTimeout函数的中断问题
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

解决方法捕获按键的事件。
<script language="javascript">
function test(event) {
event = event || window.event;
if(event.keyCode==13) { alert("你按了回车") }
if(event.shiftKey==true) { alert("你按了shift") }
if(event.ctrlKey==true) { alert("你按了ctrl") }
if(event.altKey==true) { alert("你按了alt") }} </script>

每个按键都对应一个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方法的返回值。了解了吗?



查看完整回答
反对 回复 2019-03-18
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-03-18
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 809 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信