【问题标题】:Caps lock do not trigger `keyup` event on mac in Chrome or Safari大写锁定不会在 Chrome 或 Safari 中触发 mac 上的“keyup”事件
【发布时间】:2019-05-13 09:39:14
【问题描述】:
window.addEventListener('keyup',()=>{console.log('up')})

caps lock 键无法在 Mac 上的 Chrome 和 Safari 中触发 keyup 事件。 'a'、'b' 等其他键将触发事件。 在我伙伴的 window 的 chrome 电脑上没问题。

MacOS High Sierra 10.13.6

Chrome 74.0.3729.131 X64

PS。

我认为我的中文输入可能会导致这种情况。如果我在键盘设置中关闭Use caps lock to switch 'ABC' input mode(我翻译的)。当我按两次键时会触发它。我认为这不是预期的行为。

【问题讨论】:

  • 大写锁定应该触发所有键盘事件,包括keyup。代码没有问题(我可以看到)。考虑重新启动 chrome、计算机,甚至重新安装 Chrome。
  • console 好像还可以。它应该可以工作。

标签: javascript macos google-chrome safari


【解决方案1】:

看看这个,它会提醒20keyCode

var test = document.getElementById('test');
test.addEventListener('keyup', function(e) {
  alert(e.which);
});
   // test.addEventListener('keyup',()=>{console.log('up')}) will also works
<input type="text" id="test" placeholder="enter text">

【讨论】:

  • 没有错误。我认为该事件尚未触发。
  • 我认为我的中文输入可能会导致这种情况。如果我关闭Use caps lock to switch 'ABC' input mode(我翻译的)。当我按两次键时会触发它。我认为这不是预期的行为。
【解决方案2】:

未解决,已向 Apple 提交报告。

【讨论】:

    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多