如何在javascript中检测shift + key down?

时间:2011-09-20 02:08:15

标签: javascript

  

可能重复:
  How to catch enter keypress on textarea but not shift+enter?

如何在JavaScript中检测shift + key down?

2 个答案:

答案 0 :(得分:131)

event.shiftKey是一个布尔值。如果按下Shift键,则true,如果没有,则falsealtKeyctrlKey的工作方式相同。

所以基本上你只需要使用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;
    }
  }
});