私はjQueryのの.change()の機能を好き
が、私はAJAXリクエストする際のトンをトリガー防ぐしたいのですがユーザーは選択ドロップダウンのオプションをすばやく変更します。たとえば、ユーザーがマウスのスクロールホイールを使用すると、新しいオプションを選択するときに各オプションがトリガされます。
ユーザーが選択ドロップダウンを1秒間更新しなくても、これらの更新を送信するだけの適切な方法を考案したいと思います。
この状況をうまく処理する方法はありますか?
私はjQueryのの.change()の機能を好き
が、私はAJAXリクエストする際のトンをトリガー防ぐしたいのですがユーザーは選択ドロップダウンのオプションをすばやく変更します。たとえば、ユーザーがマウスのスクロールホイールを使用すると、新しいオプションを選択するときに各オプションがトリガされます。
ユーザーが選択ドロップダウンを1秒間更新しなくても、これらの更新を送信するだけの適切な方法を考案したいと思います。
この状況をうまく処理する方法はありますか?
これを行うための典型的な方法は、のsetTimeoutとてclearTimeoutである:
var wto;
$('#select').change(function() {
clearTimeout(wto);
wto = setTimeout(function() {
// do stuff when user has been idle for 1 second
}, 1000);
});
私はあなたがしてunderscore.jsを使用することをお勧めします。
var newFunction=_.debounce(function(){
alert('You function, after use stop scroll')
},1000); //Wait seconds after he stops
$('#select').change(newFunction);
はunderscore.debounceについては、こちらをご覧ください。
あなたが探しているものは、*デバウンス*と呼ばれています。 –