キーを押してから離したときにjQueryを使用してチェックしたいと思います。リリース後にのみ、関数を実行したい(これを行う唯一の方法はjQueryには関係ないが、両方の方法があれば、バイト数の少ない方が良いだろう)。
私は、ソリューションがkeyup()
とkeydown()
、またはkeypress()
の関数の組み合わせを使用すると確信していますが、コードをどのように連結してコードが望ましい出力を受け取るかはわかりませんでした。jQueryを使用してキーを押してから解放したときの検出
$("body").keydown(function(event) {
$("body").keyup(function(event) {
console.log("key pressed/released");
var keyPressed = keys[event.keyCode];
player.hit(keyPressed);
});
});
しかし、それは私がキーを離した後、コンソールにログインしているkey pressed/released
メッセージの数十になり:私の現在のコードです。 keydown()
またはkeyup()
のいずれかを削除すると、キーを押すか、リリースするたびにkey pressed/released
というメッセージが記録されます。 keypress()
は、keydown()
,keyup()
の代わりに、または単独では機能しません。私の望む結果を達成するために何をすべきですか?
[Mousetrap](https://craig.is/killing/mice)を使用することを強く推奨する必要があります –
*「より少ないバイト数」* - jQuery.jsファイル以外?つまり、jQueryメソッドとjQuery.jsライブラリ全体を呼び出す3行のコードは、10行の非jQueryコードよりも「少ない」でしょうか? – nnnnnn
@nnnnnnはい、私はファイル自体を意味します。 –