【发布时间】:2012-07-17 00:11:51
【问题描述】:
我已经设置了一个 keydown 函数,我想根据是按下左、右、上还是下箭头键来做不同的事情。这是使用 switch 语句工作的,但我也想在按下 ANY 箭头键时做一些事情,但无法弄清楚。我的代码:
$(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;
}
});
我真的很想要一行代码,我可以检查是否按下了任何箭头键,但无法弄清楚,例如:
case arrow:
// do something for any arrow keys
break;
仅使用“大小写箭头”似乎不起作用。有人可以帮忙吗?
提前致谢!
编辑:感谢大家的帮助。这是我的最终代码,任何人都可以查看:
$(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;
}
});
【问题讨论】:
-
case arrow.left: case arrow.right: case arrow.up: case arrow.down: // do something for arrows break; -
这要么永远不会被执行,要么总是被执行而不是
switch语句中的每个特定箭头代码块。
标签: jquery switch-statement arrow-keys