首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript无法捕获"SHIFT+TAB“组合

JavaScript无法捕获"SHIFT+TAB“组合
EN

Stack Overflow用户
提问于 2011-04-19 03:20:02
回答 2查看 25.7K关注 0票数 18

由于某种原因,我无法捕获"SHIFT+TAB“组合。我使用的是最新的jQuery。

如果我使用其他ajax/javascript等,结果也是一样的。

这里有一个简单的例子,根据我目前的理解,它应该是有效的。

event.which或event.KeyCode总是“未定义的”只有shiftKey存在于涉及"SHIFT+TAB“或向后键盘遍历的场景中,这传统上是基于windows的应用程序/web或其他方式所固有的。

代码语言:javascript
复制
    function ShiftTab()
    {
      debugger;
      if(event.KeyCode == 9 && event.shiftKey) // neither this line nor the following work
//      if (event.which == 9 && event.shiftKey) // shift + tab, traverse backwards, using keyboard
      {
        return true;
      }
      else
      {
        return false;
      }
    }

这似乎是另一个与Tab键顺序相关的项目,它不再像传统上在基于Microsoft.Net WinForm/WebForm的应用程序中那样工作。

EN

回答 2

Stack Overflow用户

发布于 2011-04-19 03:25:03

如果您使用的是jQuery,这应该是代码的工作方式。确保keyCode为小写。此外,jQuery将keyCode规范化为which

代码语言:javascript
复制
$(document).keyup(function (e) {
    if (e.which === 9 && e.shiftKey) {
        ShiftTab();
    }
});

如果你对简明的JavaScript感兴趣:

代码语言:javascript
复制
$(document).keyup(function (e) {
    e.which === 9 && e.shiftKey && ShiftTab();
});

jQuery 1.7+ on语法:

代码语言:javascript
复制
$(document).on('keyup', function (e) {
    e.which === 9 && e.shiftKey && ShiftTab();
});
票数 32
EN

Stack Overflow用户

发布于 2015-08-01 17:59:32

在按键事件中使用相同的代码。该选项卡可在keypress和keyup之间更改元素。在这里,我们得到event.key = tab和event.shiftKey = true。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5707758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档