2011-08-03 1 views
1

keydownで関数を呼び出すことはできますが、キーが解放された後に特定の要素の値を取得するだけですか?基本的に私のコード内の他のすべての関数は、キーが解放された後に入力フィールドの値を必要とするものを除き、キーダウンで呼び出される必要があります。だから私は、switch文がkeyupイベントが発生するまで待つこの関数を呼び出す際に、デフォルトのケースを持つことができるようにしたいと思います。jQuery:keydownの関数呼び出しがキーアップで値を取得する

+1

私は、keyupとkeydownハンドラを同じdom要素にバインドする必要があると思います。 – scessor

+0

私はそれをしなければならないかもしれないと思ったが、私は何かをやるべきかどうかを調べるために自分のコードを繰り返さなければならないので、私はそうでないだろうと思った。私は今のところそれをやって、誰かがより良い解決策を掲示したらそれを変えるだろうと思う。 – blcArmadillo

答えて

1

イベントハンドラは、他のコードが実行されていない間だけ開始されるため、イベントを待つことはできません。したがって、そのキーの情報をどこかに格納して、keyupイベントで使用する必要があります。あなたはKeyDownイベントイベントからの情報を保持している場合

shift down 
space down 
shift up 
K down 
space up 
K up 

そう、あなたがそれぞれに別々に保管してくださいする必要があります:各​​は例えば、最終的にkeyupを取得しますが、必ずしも同じ順序で

注意キー。

キー入力がキーを押すと発生するイベントを使用することも考えてください。これは、キーを押したままにするとキーが繰り返されるときにも発生します。

関連する問題