keyCode

该属性已被废弃
一个监听键盘事件的方法。返回值为该按键所对应的ASCII键码。 keyCode属性对可打印字符不可用,对于需要同时按下shift或alt键的输入,可能无法监听。

  1. const box = document.querySelector("div"); // 获取页面元素
  2. const keyArr: number[] = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]; // 设置即将键入的键盘按键,这个数组的值代表着 上上下下左右左右ba 这十个按键
  3. let newKeyArr: number[] = []; // 用来保存键入的键值
  4. // 监听页面中的键盘事件
  5. document.addEventListener('keydown', e => {
  6. // 判断键入的值是否等于预先设置好的值
  7. // 如果是就追加进保存键值的数组,如果不是先判断是不是等于设置的第一个值
  8. // 如果等于第一个值就重置数组长度为1,如果不是则重置为空数组
  9. if (e.keyCode === keyArr[newKeyArr.length]) {
  10. newKeyArr.push(e.keyCode);
  11. // 判断追加进数组后 是否等于预先设置好的数组。如果等于就进行处理结果
  12. if (newKeyArr[keyArr.length - 1] === keyArr[keyArr.length - 1]) {
  13. box.style.display = 'block';
  14. }
  15. } else if (e.keyCode === 38) {
  16. newKeyArr = [38];
  17. } else {
  18. newKeyArr = [];
  19. }
  20. })

点击查看详细案例
点击查看【codepen】