livesearch 関数で ajax リクエストを調整するために、次のコード(別のユーザーによって作成された)を使用しています。
デモが必要な場合は JSFiddle: http://jsfiddle.net/4xLVp/
しかし、それはバグのようです。で値をクリアしCtrl+shift+back-arrow
、再度入力すると、リクエストが殺到します。空白の値でもリクエストが発生します。特に、リクエストの遅延がより測定されているように見えるjQuery UI autocompleteと比較すると、正しくないようです。
$('##tag-search').keyup(function() {
var elem = $(this);
if (elem.val().length >= 2) {
elem.data('search',search).clearQueue().stop().delay(1000).queue(function() {
$.ajax({ // ajax stuff
'success': function(data){ /*show result*/ }
});
if (elem.data('search') != string) return;
});
} else if (string.length <= 1) { /*show original content*/ }
});
これを処理するより良い方法はありますか?