【问题标题】:Is it possible to detect if 'capslock is on' in a click event in jquery?是否可以在 jquery 的点击事件中检测“大写锁定是否开启”?
【发布时间】:2013-05-07 02:55:19
【问题描述】:

我想知道是否可以使用 jquery 检测大写锁定键的状态而无需任何按键。

让我更清楚。我有一个密码字段。当我只是单击它或密码字段处于焦点时,如果大写锁定已打开(类似于 Windows 登录),我需要显示一条警告消息。我知道比较字符代码的方法,但这不是我需要的。

这是一个 Yii 应用程序。所以如果它有任何检查大写锁定状态的默认功能,请告诉我。

任何帮助将不胜感激..!

谢谢..!

【问题讨论】:

  • 您想检测大写锁定是否打开,即使用户没有按任何键?我不确定这在 JavaScript 中是否可行。
  • 试试这个capslock.mclean.ws...希望对你有帮助
  • @dreamCoder 这个好像是用key事件。
  • 我认为我投票结束这个问题是错误的,它不是重复的。

标签: javascript jquery yii verification capslock


【解决方案1】:

Google 搜索显示了这一点。我不认为你可以直接检查状态。 所以你只有在输入一个字母后才能发现。

http://capslock.mclean.ws/

所以回答你的问题:是否可以在 jquery 的点击事件中检测“大写锁定是否开启” - 否!

【讨论】:

  • 这看起来像通常的解决方案,使用键事件。所以不是 OP 需要的。
【解决方案2】:

尝试使用 jquery 插件进行大写锁定 http://capslock.mclean.ws/

似乎无法检测到 caps lock onfocus 我认为这可能会对您有所帮助,请访问此

http://jaspreetchahal.org/jquery-caps-lock-detection-plugin/

【讨论】:

  • 那需要一个按键。但这很可能是 OP 的唯一选择。
  • 嗨,但我需要在任何按键之前检测大写锁定状态。我只是想知道这是否可能。
【解决方案3】:

使用这个

document.onkeydown = function (e) { //check if capslock key was pressed in the whole window
    e = e || event;
    if (typeof (window.lastpress) === 'undefined') {
        window.lastpress = e.timeStamp-51; 
     }

        if (e.keyCode == 20 && e.timeStamp > window.lastpress + 50) {
            if (typeof (window.capsLockEnabled) !== 'undefined') {
                window.capsLockEnabled = !window.capsLockEnabled;
            }
            if(!$(document).data("capsOn")){
              $(document).data("capsOn", true);
            }else{
              $(document).data("capsOn", false);
            }
        }
        window.lastpress = e.timeStamp;
        //sometimes this function is called twice when pressing capslock once, so I use the timeStamp to fix the problem


};

然后是下面的代码

$("#password").click(function(){
if($(document).data("capsOn")){
 alert("CAPS ON");
}
});

DEMO

【讨论】:

  • 如果用户进入页面时大写锁定已经打开,则不起作用,即使他们在页面上按下它也非常不可靠。它看似随机地发出警报。
  • 每次都为我工作.."除了大写锁定在用户进入页面时已经打开"
【解决方案4】:

在浏览器中的 JavaScript 中,您要么拥有基于浏览器在标准 API 中提供给您的解决方案,要么没有。

在这种情况下,无法直接访问键盘的状态,因此答案为 :当用户按下某个键时,您最好显示您的消息。 p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2012-07-03
    相关资源
    最近更新 更多