2

オンラインテキストエディタアプリケーションを作成しています。ユーザーが最後にキーを押してから3分ごとにデータをmongodbに保存する必要があります。現在、textareaがフォーカスを失った後、データを保存していますが、ユーザーフレンドリーな機能を追加する必要があります。上記の機能を追加する必要がありますが、それを実行する方法がわかりません。180秒後にajax呼び出しをトリガーできるjqueryのタイマーが必要です。希望する結果を得るために使用できるjquery関数を教えてもらえますか?サーバーサイドで使用しており、データベースとしてmongodbを使用しています。

4

1 に答える 1

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

ただし、必要な場合にのみ、この場合はより頻繁に保存するアプローチを使用します。次の例では、 Underscore.jsの関数を使用しています。

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

これにより、ユーザーが2秒以上入力を停止するとすぐにデータが保存されますが、1分に1回以下です。これは、10秒ごとに変更した後2秒ごとに保存する小さな例です:http://jsfiddle.net/ThiefMaster/AagFC/

于 2012-04-24T08:14:25.367 に答える