0

しばらく前に、複数回発生するイベント用のXAML / .NETソリューションのコピーであるライブラリを見つけました。そして、すべてがそれを見つけるのに役立つことを願っています。

問題は、ウィンドウのサイズ変更イベントをキャプチャすると、幅または高さがピクセルごとに変更されるたびに発生することです。キープレスイベントについても同じことが言えます。ユーザーが実際にしばらく入力を終えた後でのみ、オートコンプリート検索イベントを発生させたいです。

ではなく:

$(window).keypress(function() { makeAjaxAutocompleteCall() });

私はライブラリがこのようなものをサポートしていることを知っています:

$(window).collect("keypress", 250, function() { makeAjaxAutocompleteCall(); });

ライブラリがキー押下イベントを収集し、250ミリ秒ごとに1回だけ起動する場合。

4

1 に答える 1

0

DebounceとThrottleを説明する非常に徹底的なブログ投稿を見つけました

http://drupalmotion.com/article/debounce-and-throttle-visual-explanation

どちらの手法も、「特定の関数を時間の経過とともに呼び出すことができる頻度はどれくらいか」という同じ質問に答えます。さまざまな方法で:

デバウンス:「複数のイベントを1つにグループ化する」と考えてください。あなたが家に帰り、エレベーターに乗り込み、ドアが閉まっていると想像してみてください...そして突然あなたの隣人がホールに現れてエレベーターに飛び乗ろうとします。礼儀正しく!そして彼のためにドアを開けてください:あなたはエレベーターの出発を非難しています。同じ状況が第三者でも発生する可能性があることを考慮してください。以下同様です...おそらく出発を数分遅らせます。

スロットル:それをバルブと考えてください。実行の流れを調整します。特定の時間に関数を呼び出すことができる最大回数を決定できます。したがって、エレベーターの例えでは、あなたは10秒間人々を入れるのに十分丁寧ですが、その遅延が過ぎたら、あなたは行かなければなりません!

于 2013-03-11T20:40:29.423 に答える