首页 > 解决方案 > 使用KeyboardEvent.code替换KeyboardEvent.keyCode,但为空

问题描述

因为keyCode已弃用,所以我想将其更改为code,但在这里我什么也得不到。

public async onKeyboardKeyDown(event: KeyboardEvent): Promise<void> {
        debugger
        console.log("keyCode", event.keyCode);
        console.log("code", event.code);
        console.log("key", event.key);
}

我可以从event.keyCode, from得到结果event.key,但event.code. 而且应该不是浏览器版本问题。Chrome 从 Chrome 51 开始支持它,我曾经navigator.userAgent检查过,它是 68。

PS:这是一个 C++ 桌面客户端中的网页。(客户端打开一个窗口,它重定向到我的网址)

在此处输入图像描述

标签: javascripthtml

解决方案


如果输入设备不是物理键盘,而是虚拟键盘或辅助设备,则返回的值将由浏览器设置为尽可能接近物理键盘所发生的情况,以最大限度地提高物理键盘之间的兼容性和虚拟输入设备。

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code


推荐阅读