gpt4 book ai didi

javascript - 检测按键上的 Alt Gr(Alt Graph)修饰符

转载 作者:可可西里 更新时间:2023-11-01 01:32:20 32 4
gpt4 key购买 nike

在 javascript Event 对象中,有一些 bool 值来检查修饰键是否被按下:

  • ctrlKey:CTRL 键。
  • altKey:ALT 键。
  • altLeft:ALT 左键。仅适用于 IE。
  • altGraphKey:ALTGR 键。仅适用于 Chrome/Safari。

但是,有一些问题:

  • 当您按下 ALTGR 修饰符时,IE 和 Chrome 将 ctrlKey 设置为 true 并将 altKey 设置为 true
  • 当您按下 ALTGR 修饰符时,Firefox 将 ctrlKey 设置为 false 并将 altKey 设置为 true,因为只有 ALT已被按下。
  • Chrome 有 altGraphKey 属性,但它始终是 undefined

问题:如何区分 ALT+CTRLALTGR 按键?特别是在 Chrome 中。

最佳答案

webkit 浏览器中的 altGraphKey 似乎不再存在(截至 2013 年 9 月)并且 Firefox 的行为发生了变化。 AltGr 键的浏览器行为目前似乎是:

  • Webkit (Chrome) - ctrlKey: true, altKey: true
  • IE 8 - ctrlKey: false, altKey: true
  • IE 10 - ctrlKey: true, altKey: true
  • Mozilla (Firefox) - ctrlKey: true, altKey: true

也就是说,它们目前都是一致的(除了 IE8,它始终不一致)。

在现代浏览器中,以下代码片段应该捕获 Alt Gr - 但不是 AltCtrl。但是,您将需要 IE8 的特例:

if (event.ctrlKey && event.altKey) {
// Appears to be Alt Gr
}

关于javascript - 检测按键上的 Alt Gr(Alt Graph)修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657346/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com