1. 该事件实例对象中的常用方法与属性:

altKey返回触发按键事件时是否按下了 "ALT" 键。
charCode返回触发 onkeypress 事件的键的 Unicode 字符代码。
code返回触发事件的键的代码。
ctrlKey返回按键鼠标事件时是否按下了 "CTRL" 键。
getModifierState()如果指定的键被激活,则返回 true。
isComposing返回事件的状态是否正在构成。
key返回事件表示的键的键值。
keyCode返回触发 onkeypress 事件的键的 Unicode 字符码,或触发 onkeydown 或 onkeyup 事件的键的 Unicode 键码。
location返回键盘或设备上按键的位置。
metaKey返回按键事件触发时是否按下了 "META" 键。
repeat返回是否重复按住某个键。
shiftKey返回按键事件触发时是否按下了 "SHIFT" 键。
which返回触发 onkeypress 事件的键的 Unicode 字符码,或触发 onkeydown 或 onkeyup 事件的键的 Unicode 键码

属于该事件的有

  1. ‘keydown’
  2. ‘keyup’
  3. ‘keypress’
    1. 输入可打印字符

按键事件机制:

1. 触发顺序:

1.1. 短按一个按键

  • 按下时触发一次keydown
  • 输入可打印字符时触发一次keypress
  • 松开时触发一次keyup

1.2. 长按一个按键

如果按住非修饰键

  • 按住时循环以下事件:
    • 一次keydown
    • 输入可打印字符的同时触发一次keypress
  • 放开时触发一次keyup

如果按住修饰键

和短按一个按键类似

2. 组合键触发机制:

  1. 每个键都能触发keydown, 组合键分开触发
  2. 一直按住某个键的同时再按另一个键, 任何键都不能触发keydown
  3. 每个键都能触发keyup, 组合键分开触发

2. 适用范围:

  1. 用来监测用户按下特定按键
  2. 指定特定按键对应的操