Des*_*ond 0 jquery switch-statement arrow-keys
我已经设置了一个keydown函数,我想做不同的事情,这取决于是否按下了向左,向右,向上或向下箭头键.这是使用switch语句,但我也想在按下任何箭头键时执行某些操作,但无法弄明白.我的代码:
$(document).keydown(function (e) {
var keyCode = e.keyCode || e.which,
arrow = {left: 37, up: 38, right: 39, down: 40 },
switch (keyCode) {
case arrow.left:
// do something left
break;
case arrow.right:
// do something right
break;
}
});
Run Code Online (Sandbox Code Playgroud)
我真的只想要一行代码,我可以检查是否按下了任何箭头键,但无法弄明白,例如:
case arrow:
// do something for any arrow keys
break;
Run Code Online (Sandbox Code Playgroud)
只使用"案例箭头似乎不起作用.有人可以帮忙吗?
提前致谢!
编辑:感谢大家的帮助.这是我的最终代码,对于任何寻找的人:
$(document).keydown(function (e) {
if (e.which >= 37 && e.which <= 40) {
$('p.key-notification').fadeOut('slow');
}
var keyCode = e.keyCode || e.which,
arrow = {left: 37, up: 38, right: 39, down: 40 },
switch (keyCode) {
case arrow.left:
// do something left
break;
case arrow.right:
// do something right
break;
}
});
Run Code Online (Sandbox Code Playgroud)
为什么这也必须在你的switch陈述中?
if切换后单独声明:
if (keyCode >= 37 && keyCode <= 40) {
// run your code here
}
Run Code Online (Sandbox Code Playgroud)