我想檢查,使用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庫比十行非jQuery代碼「少」? – nnnnnn
@nnnnnn是的,我的意思是在我的文件本身。這並不重要,雖然 –