【问题标题】:How can I detect shift + key down in javascript? [duplicate]如何检测 javascript 中的 shift + key down? [复制]
【发布时间】:2011-09-20 02:08:14
【问题描述】:

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

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

【问题讨论】:

标签: javascript


【解决方案1】:

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

所以基本上你只需要使用onkeydown 正常检测按键,并根据需要检查这些属性。

【讨论】:

  • 我认为这个答案比选择的答案更能提供信息,因为它实际上描述了正确功能的行为,而 OA 只是提供了一堆浏览器黑客来确保此功能正常工作。跨度>
  • 人们应该使用 event.key 或 event.code,谨防弃用
  • 究竟是什么被弃用了@AkinHwan 你能给我们参考!?
【解决方案2】:
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;
    }
  }
});

【讨论】:

  • 不再需要所有这些代码。请参阅其他答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
相关资源
最近更新 更多