0

我正在尝试使用 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
}
4

2 回答 2

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)
});

检查小提琴

于 2013-05-22T00:46:48.307 回答
1

使用 setTimeout 来处理这个:

setTimeout(2000, function decide () {
    if (keyPressed) 
    {
       //do A
    } else
    { 
      // do B
    }
}
于 2013-05-22T00:40:45.387 回答