【问题标题】:JQuery timeout function [closed]JQuery超时功能[关闭]
【发布时间】:2013-05-16 21:50:32
【问题描述】:
我正在尝试使用 jquery/javascript 执行以下操作,但无法找到有关如何完成它的任何信息。
我想创建一个函数,当被调用时,它将等待 2 秒以等待用户的响应(例如按键)。如果2秒内任意时间收到响应,则执行事件A,如果2秒内没有按键,则执行事件B。
function waitForInput
{
if(response within 2 second timeout?) event a executed
else if (timed out) event b executed
}
【问题讨论】:
标签:
javascript
jquery
timer
timeout
【解决方案1】:
试试这样的
var timeOut;
$('#input').on('keyup', function () {
if (timeOut) {
clearTimeout(timeOut);
$('#div').removeClass('a'); // corresponds to Event A
}
timeOut = setTimeout(function () {
$('#div').addClass('a'); // corresponds to Event B
},1000);
console.log(timeOut)
});
Check Fiddle
【解决方案2】:
使用 setTimeout 来处理:
setTimeout(2000, function decide () {
if (keyPressed)
{
//do A
} else
{
// do B
}
}