如何在 javascript 中检测 shift + key?

93234 次浏览
var onkeydown = (function (ev) {
var key;
var isShift;
if (window.event) {
key = window.event.keyCode;
isShift = !!window.event.shiftKey; // typecast to boolean
} else {
key = ev.which;
isShift = !!ev.shiftKey;
}
if ( isShift ) {
switch (key) {
case 16: // ignore shift key
break;
default:
alert(key);
// do stuff here?
break;
}
}
});

event.shiftKey是一个布尔值。如果按下 Shift 键,则为 true; 如果不按键,则为 falsealtKeyctrlKey的工作原理是一样的。

所以基本上你只需要检测键下降与正常的 onkeydown,并检查这些属性,根据需要。