代码之家  ›  专栏  ›  技术社区  ›  Imagist

在浏览器中禁用关键功能

  •  0
  • Imagist  · 技术社区  · 16 年前

    我正在用javascript(w/jquery)编写应用程序。应用程序有很多功能,用户需要快速访问,可能同时访问(您可以将其视为游戏,即使它不是游戏),所以我将其设置为使用键盘。我有一个系统工作的原型(至少在chrome中),但是当我按下ctrl-t时,它会打开一个新的标签。我想把它作为我的应用程序的一部分,例如,切换一些设置。通常,我想禁用浏览器的ctrl键功能。这也适用于alt和shift。以另一种方式,我还想禁用浏览器对tab键的使用。基本上,我希望我的应用程序在使用键盘的时候能够完全控制键盘(如果他们想离开,他们仍然可以用鼠标来控制)。我要补充一点,我不关心一些不太常见的键(F1-F12、Windows/Mac命令、菜单、Enter键的任何权利),因为我的应用程序主要针对笔记本电脑,而许多没有这些键,所以它们不会被使用。

    我的问题是,如何禁用此浏览器功能w/javascript/jquery/dom?

    我知道,以这种方式接管浏览器功能听起来非常专制,但实际上非常必要。从原型和一些目标受众测试用户(我的家人)来看,每个人都认为这是一个好主意。

    我还考虑把我的应用程序从浏览器中移走并用某种应用语言(也许是Java)编写它,但是我想在这种切换之前找出这种功能是否可以在JavaScript中实现。不过,现在是原型制作时间,所以每个想法都有待考虑!

    1 回复  |  直到 16 年前
        1
  •  0
  •   Kobi    16 年前

    基本上,你回来了 false 在正确的时间。看到这个: How to create Ctrl+Key shortcuts in Javascript .

    我应该添加并说有时这不起作用-这取决于浏览器是否允许。
    而且,有时也有可能改变 e.which 换一把钥匙,但同样,这并不总是有效的。