js onkeydown 事件能检测两个按键同时按下吗? 比如我同时按下 a 和 b?

 我来答
lyz810
2018-12-10 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31777
前端开发工程师

向TA提问 私信TA
展开全部
可以监听到两个不同的keyCode,a和b不能同时按下,你认为的同时,在计算机看来还是有先后顺序,所以监听到的是a和b都触发了,但每次事件只有一个keyCode,所以你要检测时需要自行记录下状态,keydown记录下按键,keyup再取消这个按键,此时可以判断另一个按键是否在记录中,从而判断两个按键同时按
另外,shift ctrl等这些组合键可以直接在其他按键的事件中获取到状态,不需要自己记录
追问
如果我先按下a然后在按下b呢
追答
b的事件中看下a是否被打标了,就知道是否按a和b了,先按哪个都一样,按的时候记录一个变量里,并判断当前按住的按键,抬起时,把按键从记录里删掉就可以了
百度网友8322a666
2018-12-09 · 超过34用户采纳过TA的回答
知道答主
回答量:182
采纳率:50%
帮助的人:57.3万
展开全部
可以,因为你不可能同时按下,他们的键码不一样
更多追问追答
追问
其实是想问上下左右的按键,想着控制一个箱子行走,同时按下上左就让箱子往上左方向走
上下左右的都完成了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式