我正在尝试使用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
}
答案 0 :(得分:3)
尝试这样的事情
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 强>
答案 1 :(得分:1)
使用setTimeout来处理:
setTimeout(2000, function decide () {
if (keyPressed)
{
//do A
} else
{
// do B
}
}