【问题标题】:How to detect if there is a numpad available on keyboard?如何检测键盘上是否有可用的小键盘?
【发布时间】:2022-12-05 02:03:55
【问题描述】:

如何检测键盘上是否有可用的小键盘?

出于某种原因,如果您从键盘的小键盘输入 0,您将获得 96 作为键码,如果您在键盘右上角按 0,您将获得 48 !!!

我想检测 JavaScript 键盘中是否有小键盘。

有什么解决办法吗?

这是一个测试:

const onPress = event => {
  console.log(event.keyCode)
}

document.addEventListener('keydown', onPress);

【问题讨论】:

标签: javascript


【解决方案1】:

没有直接的方法可以使用 JavaScript 检测键盘是否有小键盘。但是,您可以使用 KeyboardEvent.location 属性来确定是否按下了小键盘上的某个键。此属性返回一个数字值,指示键在键盘或设备上的位置。

对于小键盘上的键,location 属性的值为 3。因此,您可以检查 onPress 函数中的 location 属性以确定是否按下了小键盘上的键。

这是一个例子:

const onPress = event => {
  if (event.location === 3) {
    console.log('Key was pressed on the numpad.');
  } else {
    console.log('Key was not pressed on the numpad.');
  }
}

document.addEventListener('keydown', onPress);

请注意,并非所有浏览器都支持 location 属性,因此在您的代码中使用它之前,您可能需要使用功能检测或检查浏览器兼容性。

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 1970-01-01
    • 2023-03-18
    • 2022-01-18
    • 2012-02-20
    • 2012-04-04
    • 2012-12-31
    • 2011-02-23
    • 2010-11-02
    相关资源
    最近更新 更多