jQuery中的范围?

时间:2011-06-26 12:27:20

标签: javascript jquery

我在jQuery中编写事件处理程序。我想为特定动作使用一组特定的键(例如箭头键)。这是否有简写符号?

我有这个。

if(event.keycode == 37 || event.keyCode == 38 || event.keyCode == 39)

我想知道JavaScript中是否有范围,如(37..40)?

提前致谢!

3 个答案:

答案 0 :(得分:2)

if(event.keycode >= 37 && event.keyCode <= 39)

在我看来并不是更好,如果你只有几个关键词,那么我会将它们全部包含在if中以获得更好的代码清晰度。

答案 1 :(得分:1)

您可以使用比较运算符来实现范围效果,如下所示:

// keep a local reference to avoid consequent requests
var keyCode = event.keyCode;

// check if key code is in range
if(keyCode >= 37 && keyCode <= 40){
  // in range, do something
} else{
  // out of range, do something else
}

答案 2 :(得分:1)

此:

var code = event.keycode;
if (code >= 37 && code < 40) { /* ... */ }

或(不确定IE):

var code = event.keycode;
if ([37, 38, 39].indexOf(code) != 1) { /* ... */ }