可能重复:
How to catch enter keypress on textarea but not shift+enter?
如何在JavaScript中检测shift + key down?
答案 0 :(得分:131)
event.shiftKey
是一个布尔值。如果按下Shift键,则true
,如果没有,则false
。 altKey
和ctrlKey
的工作方式相同。
所以基本上你只需要使用onkeydown
检测keydown,并根据需要检查这些属性。
答案 1 :(得分:37)
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;
}
}
});