我正在编写一个在线文本编辑器应用程序,我需要在用户最后一次按键后每 3 分钟将数据保存到 mongo db,目前我正在 textarea 失去焦点后保存数据,这很好,但我需要添加更多用户友好的功能,所以我需要添加上述功能,但我不知道如何去做,我需要一个 jquery 计时器,它可以在 180 秒后触发 ajax 调用。谁能告诉我可以使用哪个 jquery 函数来获得所需的结果。我在服务器端使用 mongo db 作为数据库。
window.setInterval(function() {
$.ajax({...});
}, 180000);
Run Code Online (Sandbox Code Playgroud)
但是,我会使用一种仅在必要时保存的方法,在这种情况下更频繁。以下示例使用来自Underscore.js 的函数。
$('textarea').on('keyup', _.throttle(_.debounce(function() {
$.ajax(...);
}, 2000), 60000));
Run Code Online (Sandbox Code Playgroud)
这将在用户停止输入至少 2 秒后立即保存您的数据,但每分钟不超过一次。这是一个小例子,每 10 秒修改一次后每 2 秒保存一次:http : //jsfiddle.net/ThiefMaster/AagFC/