HTML中的onkeydown - 按下了什么键?

use*_*001 4 html javascript onkeydown

一个简单的问题:当我onkeydown在HTML中使用事件时,如何找出按下的键?我敢肯定它真的很容易,但我试过谷歌搜索它; w3schools没有帮助,所有其他结果都是人们询问特定的浏览器.有没有办法适用于所有主流浏览器?

谢谢!

Pau*_* S. 6

您正在寻找的事件是keydown事件,它为您提供以下属性

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

  • keyDOMString(string)事件表示的键的键值.如果值具有打印表示,则此属性的值与char属性相同.否则,它是{{anch("Key values")}}中指定的键值字符串之一.如果无法识别密钥,则为"Unidentified"字符串.请参阅详细信息的键名和字符值.只读.

  • charCode Deprecated Unsigned long(int)密钥​​的Unicode引用号; 此属性仅由keypress事件使用.对于char属性包含多个字符的键,这是该属性中第一个字符的Unicode值.只读.
    警告:不推荐使用此属性; 你应该使用char,如果可用的话.

  • keyCode Deprecated Unsigned long(int)依赖于系统和实现的数字代码,用于标识按下的键的未修改值.这通常是与密钥对应的十进制ASCII({{RFC(20)}})或Windows 1252代码; 请参阅{{anch("虚拟键码")}}以获取常用值列表.如果无法识别密钥,则此值为0.只读.
    警告:不推荐使用此属性; 你应该使用密钥,如果可用的话.

  • which Deprecated Unsigned long(int)一个系统和实现相关的数字代码,用于标识所按下的键的未修改值; 这通常与keyCode相同.只读.
    警告:不推荐使用此属性; 你应该使用密钥,如果可用的话.

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