【问题标题】:what is the key code for shift+tab?shift+tab 的键码是什么?
【发布时间】:2010-06-15 09:46:51
【问题描述】:

我正在研究键映射。问题是当我按下 TAB 按钮时,它会导航到下一个输入字段。

TAB 键为 9 并且
DOWN 键为 40

但是,转到上一个输入字段(SHIFT + TAB)的 JavaScript 键代码是什么?

我想要的是转到下一个链接;上一个链接的键码或代码是什么?

请帮忙。 谢谢。

【问题讨论】:

  • 你有没有想过 google 把他们带到了这里? (就像我一样)

标签: javascript html


【解决方案1】:

没有“keycode”,是separate property on the event object,像这样:

if(event.shiftKey && event.keyCode == 9) { 
  //shift was down when tab was pressed
}

【讨论】:

  • 我想要的是,如果我点击向上键,它应该会转到以前选择的标签,所以请提供一些建议.. tahnks
  • @rajesh - 你能澄清一下吗?您的问题要求他们提供 shift+tab 的键码,但您想检测向上键吗?
  • 我想要什么,如果我单击 p 按钮,它必须移动到具有 shift+tab 等功能的上部字段。因此,我想要的一样
  • keydown 事件有一个键码 - Shift+Tab keyCode=16
  • 彼得,keyCode 16 用于 Shift 键。
【解决方案2】:

e.keyCode 一直是deprecated。请改用“e.key”KeyboardEvent.key

用法:

e.shiftKey && e.key === 'Tab'

示例:

function clicked(e) {
    if (e.shiftKey && e.key === 'Tab') {
        // Do whatever, like e.target.previousElementSibling.focus();
    }
}

【讨论】:

  • 最佳答案。实际工作用例。特别是对于角。如果您在这些天使用密钥代码,那么您做错了。
  • 人们一直在说 keycode 已经贬值,但到 2021 年仍然没有足够的支持 event.key - caniuse.com/keyboardevent-key
【解决方案3】:

这种方式对我有用
首先检查是否按下了其中一个键(tab/shift),然后检查其中的其他键:

if (e.code === "Tab") {
  if (e.shiftKey) {//shift+tab pressed
      //Code
  } else {//only tab pressed
      //Code
  }
}

【讨论】:

  • 不知道为什么将这两个条件合二为一对我不起作用。因为已经提供了很好的答案,但考虑添加这个。
【解决方案4】:

您可以为此使用event.shiftKey 属性:http://www.java2s.com/Code/JavaScript/Event/Shiftkeypressed.htm

【讨论】:

    【解决方案5】:

    在我的 GWT 案例中

    if(event.isShiftKeyDown() && event.getNativeKeyCode() == KeyCodes.KEY_TAB){
        //Do Something
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2020-10-24
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      相关资源
      最近更新 更多