javascript - jquery 无法检测大写锁定的打开和关闭以及按键是大写还是小写

标签 javascript jquery

我有 2 个挑战,

  1. 在页面加载时,我想显示一条警告,指出“大写字母已打开”。

  2. 用户仍然按 Shift + 键或 Caps on + 键 - 我想通过错误。

我在google上搜索并找到了解决方案,但它不起作用。有人可以帮我解决这个问题吗?请使用大写锁定开/关刷新页面以获取当前状态。没有任何效果。

这是我从谷歌搜索得到的函数:

function capLock(e){
 kc = e.keyCode?e.keyCode:e.which;
 sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false);
 if(((kc >= 65 && kc <= 90) && !sk)||((kc >= 97 && kc <= 122) && sk))
  console.log('caps lock on')
 else
  console.log('caps lock off');
}

$('#password').on('keypress', function(e){
    capLock(e.which)
})

online demo

最佳答案

实际上,您在调用 capLock 函数时传递的是 e.which 而不是 e

试试这个:在调用 capLock 函数时仅传递事件 e

$('#password').on('keypress', function(e){
    capLock(e);
})

Working JSFiddle

关于javascript - jquery 无法检测大写锁定的打开和关闭以及按键是大写还是小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029996/

相关文章:

javascript - 我的 JS 只有我的第一个事件正在触发

javascript - AJAX 返回响应,但不将响应中的 HTML 代码附加到 div

javascript - 执行 POST ajax 时出现 404(Not Found)

javascript - 使用javascript在html中获取子节点和子节点

javascript - Angular 6 单元测试 : how to use test. ts 用于运行 karma 测试

javascript - 如何创建带异形边框的图库

jquery - 使用 jQuery 扩展位于页面右边缘的单个 <li> 元素?

javascript - 2 Div 关闭并删除中间的 1 div

iframe 的 javascript - 加载消息以及如果没有连接该怎么办

javascript - 编辑现有的 cordova 插件