HTML 中的 onkeydown - 按下了什么键

onkeydown in HTML - what key was pressed?

本文关键字:什么 中的 onkeydown HTML      更新时间:2023-09-26

一个简单的问题:当我在HTML中使用onkeydown事件时,我如何知道按下了什么键?我确定这真的很容易,但我试过谷歌搜索它;W3Schools没有帮助,所有其他结果都是人们询问特定的浏览器。没有办法在所有主流浏览器中都有效吗?

谢谢!

您要查找的事件是键控事件,它为您提供以下属性

  • char DOMString (字符串( 键的字符值。如果键对应于可打印字符,则此值是包含该字符的非空 Unicode 字符串。如果键没有可打印的表示形式,则这是一个空字符串。有关详细信息,请参阅键名称和字符值。只读。注意:如果将键用作插入多个字符的宏,则此属性的值是整个字符串,而不仅仅是第一个字符。

  • key DOMString (字符串( 事件表示的键的键值。如果值具有打印表示形式,则此属性的值与 char 属性相同。否则,它是 {{ anch("键值"( }} 中指定的键值字符串之一。如果无法识别密钥,则为字符串"未识别"。有关详细信息,请参阅键名称和字符值。只读。

  • charCode 已弃用的无符号长整型 (int( 键的 Unicode 引用号;此属性仅由按键事件使用。对于其 char 属性包含多个字符的键,这是该属性中第一个字符的 Unicode 值。只读。
    警告:此属性已弃用;如果可用,应改用 char。

  • keyCode 已弃用的无符号长整型 (int( 一种系统和实现相关的数字代码,用于标识按下的键的未修改值。这通常是与密钥对应的十进制 ASCII ({{ RFC(20( }}( 或 Windows 1252 代码;有关常用值的列表,请参见 {{ anch("虚拟键代码"(}}。如果无法识别密钥,则此值为 0。只读。
    警告:此属性已弃用;如果可用,应改用 key。

  • which 已弃用的无符号长 (int( 一种系统和实现相关的数字代码,用于标识按下的键的未修改值;这通常与 keyCode 相同。只读。
    警告:此属性已弃用;如果可用,应改用 key。

由于实现不一致,因此需要使用逻辑 OR ||来获取客户端浏览器支持的 OR

通常,您希望避免在 html 中设置事件。 但是如果我不得不猜测你的代码有点像这样:

<tag onkeydown="javascript:function_name()">

拥有您的实际代码将有助于更多地指导这一点,但这是下一步。

function function_name(event){
     console.log(event.key) //or event.keyCode / event.which
}

这应该输出您按下的键。 供您自己参考。