【发布时间】:2014-04-02 23:38:19
【问题描述】:
我有以下代码(它基本上会根据我按下的键更改我设置的图像)。 我遇到的问题是当用户同时按下 两个键。(例如:右箭头键和左箭头键)。如果同时按下多个键,如何防止输出?
<div id="slide"><img src="http://i.imgur.com/r41vA8p.png" /></div>
</div>
$(document).keydown(function(e){
if (e.keyCode == 37) {
$('#slide').html('<img src="img">');
}
if (e.keyCode == 38) {
$('#slide').html('<img src="img">');
}
if (e.keyCode == 39) {
$('#slide').html('<img src="img">');
}
if (e.keyCode == 40) {
$('#slide').html('<img src="img">');
}
});
谢谢。
更好的解释:
如果按下并按住左键,则同时按下右键 按下,则不会发生任何事件,也不会在该实例中向右切换。
【问题讨论】:
-
你能把它扔进一个jsfiddle吗?据我所知,最后一个键将显示。
-
当然没问题,jsfiddle.net/CcrjW/1,它会检测到最后一个键,是的。如果同时按下两个键,我只想让它保持默认图像。
-
默认是up?
on.('keyup')已设置。 -
@WalkOfLife 如果正确解释要求,如果按下并按住
left,然后同时按下right,应该不会发生任何事件?在那种情况下不切换到right? -
最后一个键是什么将被放置。组合键有点棘手。