簡體   English   中英

在javascript中,您如何檢測用戶是否按住了鍵?

[英]In javascript how do you detect if the user held a key or not?

我正在嘗試制作一款具有以下功能的游戲:如果您按住Shift鍵,則玩家將加快速度。 我嘗試使用keyEvent,但無法檢測到該鍵被按住。 當我松開Shift鍵時,播放器將保持加速模式,並且不會將速度恢復為正常。 有什么可能的方法來實現這一目標?

您應該聽兩個事件: keydownkeyup 在每一個事件類型,你應該檢查鍵(“移動”的鍵碼是16),並在keydown你應該開始行動,並在keyup停止它(如果event.keyCode === 16 )。 這是一個帶有文本顏色的簡單示例,按下“ shift”按鈕時該顏色變為紅色(不要忘了單擊該片段的打開的窗口,如果沒有它,它將不起作用,因為如果不關注此窗口,所有事件都將“退出”摘錄”):

 var onkeydown = (function (e) { if (e.keyCode === 16) { document.getElementById("target").style.color = "red"; } }); var onkeyup = (function (e) { if (e.keyCode === 16) { document.getElementById("target").style.color = "black"; } }); 
 <h1 id="target">Red when holds "shift"</h1> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM