javascript - 我正在调用一个函数 onclick,并将超时设置为 1 秒,如何禁用该函数的超时?
问题描述
我有一个按钮,它会在点击时激活一个功能,该功能有一个设置的超时时间,所以它会重复
function chooseNum() {
let timeout = setTimeout(chooseNum, 1000);
}
我想在另一个功能中禁用它,我试过这个:
function initStop() {
clearTimeout(timeout);
}
HTML是这样的:
<button onclick="initStop()" id="stop" class="btn btnStop">Stop</button>
<button onclick="chooseNum()" id="start" class="btn btn1">Start</button>
解决方案
超时的范围是chooseNum函数的本地范围
为了解决你的问题
var timeout;
function chooseNum() {
timeout = setTimeout(chooseNum, 1000);
}
function initStop() {
clearTimeout(timeout);
}
这将在全局范围内创建 timout 变量,并在chooseNum()函数中初始化。
推荐阅读
- python - 我究竟如何使用 python 请求传递 POST 正文参数
- javascript - 在子集合 Firebase v9 中添加数据时出现问题
- r - 如何使导出的 {gt} 表 (png) 具有非粗体文本
- excel - 在一天中的某些时间点保存文件备份
- php - 上一个和下一个记录在 laravel
- python-3.x - yaml:第 3 行:找不到预期的“:”错误:构建失败:退出状态 3
- swift - 如何在 Swift 中检测 Fn 按键?
- expo - 从 expo 30 升级到 Expo 40 后,当我开始运行我的 Expo 项目时,我遇到了以下错误
- c++ - 我需要一个函数来读取 C++ 中的按键
- typescript - 由于外键约束,插入多对多表失败