在一段时间内优先考虑最后发生的事件

时间:2014-05-16 14:36:52

标签: jquery

我有一个函数,我希望最后一次出现的事件覆盖之前的事件。在下面的示例中,我希望在2秒内发生的任何按键事件重新启动计时。

$("#myTextArea").keyup(function () {
    $(function () {
        setTimeout(function () {
            $('form').submit();
        }, 2000);
    });
});

1 个答案:

答案 0 :(得分:1)

您可以使用clearTimeout来停止计时器。试试这个:

var timer;
$("#myTextArea").keyup(function () {
    clearTimeout(timer);
    timer = setTimeout(function () {
        $('form').submit();
    }, 2000);
});

从用户体验的角度来看,我会发现这种行为既烦人又令人困惑。只有在我专门执行某项操作时才能提交表单。