- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Chrome (52):
打开大写锁定时 - 仅触发 keydown(keyUp 或 keyPress 中没有事件)
关闭大写锁定时 - 仅触发 keyup(keyDown 或 keyPress 中没有事件)
火狐 (46):
对于打开和关闭大写锁定(没有 keyUp 或 keyPress),只有 keyDown 事件被触发
我在这里阅读了有关键码和事件的信息 http://www.quirksmode.org/js/keys.html在 MDN 中 https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode , aaaand here http://unixpapa.com/js/key.html
但是上面的链接都没有谈到这种奇怪的行为。这是预期的吗?如果是这样,有没有更简单的方法来处理它?</p>
最佳答案
是的,这是预期的。
Chrome 将 CAPS ON 视为 keydown
因为它将开/关视为按住,就像我们按住 shift 键一样,打开行为上限并在我们释放它时关闭。此 Caps Lock 按钮也是。当您打开Caps Lock 时,chrome 会将'打开' 视为按键
,而当您'关闭' 它将其作为 keyup
处理。但是,firefox 将所有内容都作为 keydown
处理,与 chrome 的处理方式相比,这对我来说没有意义。
解决方案
你应该使用 getModifierState()获取 Caps Lock
的状态。这在 chrome 和 firefox 中是支持的。
希望对您有所帮助!
$(function() {
$(window).on("keydown", function(e){
if (e.which === 20)
console.log(e.originalEvent.getModifierState('CapsLock'))
});
$(window).on("keyup", function(e) {
if (e.which === 20)
console.log(e.originalEvent.getModifierState('CapsLock'))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Focus here and press 'Caps Lock'
关于javascript - Mac 中的 Capslock 不会触发 keyDown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39016292/
这是我的代码: state := GetKeyState("Capslock", "T") if state = true F1::Run explorer F2::Run notepad F3::R
我有下面的代码可以在应用程序启动时更改 Caps Lock 键的状态。 我想在启动应用程序时将 Caps Lock 状态更改为 ON(如果它已经处于 ON 状态,则应保持 ON 状态)。当应用程序关闭
我有一个 DataGridTemplateColumn,其中 DataTemplate 作为 PasswordBox。 如果 CapsLock 被切换,我想警告用户。 private void Pas
我正在尝试编写一些东西,在输入用户名/密码之前通过错误提供程序通知用户大写锁定已打开。我发现了一些看起来像这样的代码: private void nameInputTextBox_TextChange
我想知道我是否可以使用下面的相同代码并进行一些小的更改以添加我需要的功能。写法: ::::Set WshShell = CreateObject("WScript.Shell") ::::WshShe
我想知道我是否可以使用下面的相同代码并进行一些小的更改以添加我需要的功能。写法: ::::Set WshShell = CreateObject("WScript.Shell") ::::WshShe
我只是想知道是否可以在某个 input 字段上将输入自动更改为 capitalized,用户在该字段中输入了一个大写锁定的值。 上限 = 测试名称 预期:测试名称 Caps Off = 测试名
我有一个用 C++ 编写并在 Windows 上运行的程序。我允许用户绑定(bind) CAPSLOCK 键,所以如果他们每次按下它时,他们不会同时切换他们的 CAPSLOCK 状态,那就太好了。 我
在 src$Review 中,每一行都用俄语填充。我想计算每行中的 CAPSLOCK。例如,在“我的苹果是绿色的”中,我不仅要计算大写字母的数量,还要计算 CAPSLOCK 的数量(没有“My”,只有
CapsLock 似乎是重新映射的两个最棘手的键之一(另一个是电源按钮)。 我可以全局拦截 NSEvent-s: _eventTap = CGEventTapCreate( kCGHIDEve
我刚刚发现大写锁定和 Shift 键(可能还有其他一些键)会影响连接到计算机的所有键盘。 (测试我编写的程序的危险之一,我只有两只手,所以我花了很长时间才意识到这样的问题)因此,将击键分开很好,但是
我想使用 Java 确定 CapsLock 的当前状态。到目前为止我已经尝试过以下操作。 Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent
我以下用于检查 Capslock 是否打开的代码在“onkeypress”事件上工作正常。 但我想要它用于“onfocus”事件。 我尝试将控件的“onkeypress”替换为“onfocus”,但它
我正在开发一个使用伟大的 MASShortcut repository 的应用程序什帕科夫斯基。我引用这个是为了询问是否有一种方法可以像 Shpakovski 在他的存储库中那样注册 Capslock
德尔福 2010 企业版 如何在显示虚拟键盘时自动打开 CapsLock。 最佳答案 在 FormCreate 上尝试一下: procedure TForm1.FormCreate(Sender: T
基本上我有这个问题:CapsLock password message in TEdit visually fails with VCL Styles . 我想做的不是解决答案或评论中所示的问题。 我
(Mac)是否可以重新映射大写锁定以执行除操作系统预期用途以外的任何其他操作?我曾尝试在Karabiner和“系统偏好设置”>“键盘”>“修改键”中使用它,但是没有运气。这并不是使它成为修饰键,而只是
您可能会发现是否已按下 CapsLock 键订阅 KeyDown/KeyUp 事件。然后根据该输入切换 CapsLock 的状态。这种方法的问题是您需要 CapsLock 键的初始状态才能开始切换它。
我正在尝试构建一个包含多项检查的输入表单。其中之一是检查 CapsLock 是否处于 Activity 状态。如果我尝试将此功能与 Java Swing 一起构建,它会起作用,请参见下面的代码。但在
我创建了一个函数来防止用户在字段中输入除数字之外的任何内容(但允许使用“退格”、“输入”等有用的键...) 这里是一个 jsFiddle 的例子:http://jsfiddle.net/cWHRp/1
我是一名优秀的程序员,十分优秀!