【问题标题】:Caps and Shift key using jquery/javascript使用 jquery/javascript 的 Caps 和 Shift 键
【发布时间】:2012-02-12 07:56:10
【问题描述】:

我遇到了一个问题。我必须确定我的 Caps Lock 是否打开?

如果我的大写锁定,那么我必须告诉用户您的大写已打开。但问题是如果有人按下 shift + A 那么它应该表现正常。我认为 Caps Lock on + 的关键事件a 等于 Shift + a

我怎样才能只识别我的 Caps Lock 键。我在 stackoevrflow 中看到了一些示例,但这些示例无法正常工作。

这一切都应该使用javascript或jquery。

【问题讨论】:

  • 如你所说,不知道你能不能检测到。大多数程序似乎只是带有“确保您的大写锁定已关闭”的通用警告,并且它区分大小写。当然,您可以连续检测到多个大写字母,然后“怀疑”大写锁定处于打开状态...
  • 你必须检查每个键上的移位。
  • @Matt- in javascript/jquery Caps Lock on + a 和 Shift + a 返回相同的天空代码。所以我无法使用当前答案中提供的当前代码来区分它们。

标签: javascript jquery


【解决方案1】:
<input type="text" onkeypress="handleKeyPress(event)" />

function handleKeyPress(e){

    var key = e.keyCode ? e.keyCode : e.charCode;
    if(key >= 65 && key <=90 && !e.shiftKey){

        alert("CAPS LOCK ON");

    }

}

jsfiddle:http://jsfiddle.net/diode/pNc35/2/

【讨论】:

    【解决方案2】:

    【讨论】:

    • 对不起朋友,这个代码对我不起作用。当你的大写锁定它会返回 e.shiftKey= true,它对我来说失败
    • 看看这篇文章这个问题是stackoverflow.com/questions/2308895/…的副本,那里有第二个解决方案。由于浏览器很烂,这个问题也没有明确的解决方案。 (所以它可能永远无法在某些浏览器中正常工作)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2011-11-15
    相关资源
    最近更新 更多