jQuery.inArray()没有按预期工作

MFB*_*MFB 14 jquery

我在这做错了什么?我的想法是,我可以将箭头按键与其他任何东西分开,但每次按键都会触发警告"你按了一个箭头键".任何帮助都会很棒!

jsFiddle这里或:

<input id='foo'>

<script>

$('#foo').keyup(function (e) {
    var key = e.keyCode;
    if ($.inArray(key, [37, 38, 39, 40])) {
        alert('you pressed an arrow key');
    } else {
        alert("you didn't press an arrow key");
    }
});

</script>
Run Code Online (Sandbox Code Playgroud)

Jus*_*ell 32

您必须检查它是否返回索引> -1.如果数组中没有键,则索引为-1:

if ($.inArray(key, [37, 38, 39, 40]) >  -1)
Run Code Online (Sandbox Code Playgroud)