2012-02-08 6 views
2

スロットルサポートにはthis jQuery plug-inを使用しています。jQueryを特定の条件でのみスロットルし、それ以外の場合はすぐに実行します。

私はsomeFunction高々1秒に1回実行されます、次のようにtextboxセットというテキスト入力変数を、持っている:

textbox.keypress($.throttle(1000, someFunction(e))); 

しかし、私はキーが押された場合someFunctionはすぐに実行したいを入力していますキー。私はこれをどうやって行うのかよく分かりません。助言がありますか?

答えて

2
textbox.keypress(function(event) { 
    if(event.which == 13){ 
    // Enter key has been preseed. Do something. 
    } else { 
    $.throttle(1000, function(){ 
     someFunction(event); 
    }) 
    } 
}); 

コールバック用に渡すものを覚えておいてください。 'someFunction'と '$ .throttle'の両方が直接呼び出され、戻り値はコールバックとして渡されます。これを避けるには、上で行ったように関数を関数(ラムダ)で囲みます。

+0

はい、うまくいくはずです。 –

0

「ENTER」キー押下のハンドラがコード内にあり、その場合は$.throttleを中止する必要があります。あなたは、あなたのコードをもっと貼り付けることで、どうすればよいかわかりますか?

関連する問題