2

我正在编写一个在线文本编辑器应用程序,我需要在用户最后一次按键后每 3 分钟将数据保存到 mongo db,目前我正在 textarea 失去焦点后保存数据,这很好,但我需要添加更多用户友好的功能,所以我需要添加上述功能,但我不知道如何去做我需要一个 jquery 中的计时器,它可以在 180 秒后触发 ajax 调用。谁能告诉我可以使用哪个 jquery 函数来获得所需的结果。我在服务器端使用 mongo db 作为数据库。

4

1 回答 1

5
window.setInterval(function() {
    $.ajax({...});
}, 180000);

但是,我会使用一种只在必要时保存的方法,在这种情况下更频繁。以下示例使用Underscore.js中的函数。

$('textarea').on('keyup', _.throttle(_.debounce(function() {
    $.ajax(...);
}, 2000), 60000));

这将在用户停止输入至少 2 秒后立即保存您的数据,但每分钟不超过一次。这是一个小例子,每 10 秒修改一次后每 2 秒保存一次:http: //jsfiddle.net/ThiefMaster/AagFC/

于 2012-04-24T08:14:25.367 回答