それはあなたのイベントを合体したいように、例えばこれは、AJAXリクエストを発射する前に 半秒をお待ちしております、その 時点で入力された任意の入力が含まれます聞こえます。しかし、あなたはそれぞれの文字のためのajaxリクエストを打つことはありません と入力してください。
<h:inputText onkeyup="keyupHandler();"/>
...
<script>
var keystrokeTimeout;
keyupHandler = function(event) {
var minChars = 4;
var len = $(this).val().length;
if((len != 0) && (len < minChars)) {
return;
}
var ajaxRequest = function() {
jsf.ajax.request('results', null, {
execute: 'results',
render: 'results'
});
}
clearTimeout(keystrokeTimeout);
keystrokeTimeout = setTimeout(ajaxRequest, 500); // millisecs
}
</script>
これは遠隔操作ですか?
EDIT:Richfaces 4 a4j:キュー機能をチェックアウトすることをお勧めします。 キーボードで が傾いている場合、現在のajaxリクエストが完了すると、さらに1回だけ リクエストが送信されます。リクエストの遅延を指定して、古くなった レスポンスを無視することもできます。リッチェスフェイスがしない大きな間違いは、 RFはJSF実装と同じ基本キューを使用するため、アウトオブオーダー処理のリスク がないことです。
このライブラリをまだ使用していないのであれば、それは小さなステップではありません。
ありがとう、Oversteer、それは私がその間にやったことです。 数日後に良い解決策が掲載されない場合、私はそれに固執して賞金を授与します。 – kgautron