jQuery e.which在switch语句中

Pin*_*kie 2 javascript jquery switch-statement arrow-keys

在下面的开关语句中,当按下左键时,它会向左提醒,当按下顶键时,它会提醒顶部.如何组合shift和left键的组合.

$(document).keydown(function(e) {
    switch (e.which) {
        case 37: alert('left'); //left arrow key
            break;
        case 38: alert('top');; //up arrow key
            break;
        case ??: alert('shift + left'); //How can i make this repond to the combination of shift + left arrow keys.
            break;
    }
});
Run Code Online (Sandbox Code Playgroud)

Roc*_*mat 5

shift键是一个修饰符,可以在case语句中检查左键.

$(document).keydown(function(e) {
    switch (e.which) {
     case 37:
        if (e.shiftKey) {
            alert('shift+left'); // shift and left arrow key
        }
        else {
            alert('left'); //left arrow key
        }
        break;
     case 38:
        alert('top'); //up arrow key
        break;
    }
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/ZL9Fx/1/