一、键盘事件

(1)keydown & keyup

定义: 按下按键和抬起按键

执行顺序: keydown > keypress > keyup

keydown和keypress的区别:
1、keydown没有charCode

2、keypress按住可以一直触发

3、keypress可以区分字母大小写

document.onkeypress = function (e) {var str = String.fromCharCode(e.charCode);console.log(str); // a b c A
}

4、keypress只触发所有字符类按键(包括123abc><=,不包括ctrl)

5、keydown用来触发控制键,键盘上所有的按键都可以触发

charCode和keyCode的区别:
charCode是ASCII码,keyCode是键盘顺位排序码

(2)静态方法/属性

给一个函数添加一个方法和属性,这些方法和属性就是这个函数的静态方法和属性

(3)移动盒子

点击查看源代码

二、贪吃蛇运动原理

(1)贪吃蛇案例

点击查看源代码

三、备注

(1)文档碎片


每一次循环dom结构都在变化,这样很消耗性能

frag不在dom结构里面,所以在循环的时候是没有改变dom结构的

记住:
1、只要是循环创建,一定要用到文档碎片

2、它的好处是可以阻止回流,减少对dom结构的操作,优化性能

(2)标签借用

用一些特定的标签(i、ins),这样好维护

(3)这里为什么要这样写?


就是往了一个方向走,就不能再往这个方向或者反方向走了

DOM-21【键盘事件、贪吃蛇运动原理】相关推荐

  1. WINDOWS键盘事件的挂钩监控原理及其应用技术

    WINDOWS键盘事件的挂钩监控原理及其应用技术     WINDOW的消息处理机制为了能在应用程序中监控系统的各种事件消息,提供了挂接 各种反调函数(HOOK)的功能.这种挂钩函数(HOOK)类似扩 ...

  2. 基于单片机的贪吃蛇游戏

    绪论 1.1 研究背景与意义 随着社会的发展,人们生活的步调日益加快,越来越多的人加入了全球化的世界. 人们不再拘泥于--,J,块天地,加班,出差成了现代人不可避免的公务.而此时一款可以 随时随地娱乐 ...

  3. python100行代码-怎样写贪吃蛇小游戏?用100行python代码轻松解决!

    大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇.在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短, ...

  4. bat贪吃蛇游戏代码_100行python代码,轻松完成贪吃蛇小游戏

    来源:DataGo数据狗   链接: https://mp.weixin.qq.com/s/fDcr1SfcbynLzHye7Q7VOg 大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉 ...

  5. 基于pygame的贪吃蛇游戏

    14/100保存草稿发布文章 博文管理我的博客退出加粗 斜体 标题 删除线 无序 有序 待办 引用 代码块 BashCC++C#CLikeCSSGoHandlebarsJavaJavaScriptKo ...

  6. python代码,轻松完成贪吃蛇小游戏

    大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇.在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短, ...

  7. Javascript项目— 甜心教主《爱你》版 贪吃蛇游戏

    0.项目展示 目录 0.项目展示 一,贪吃蛇游戏 1. 初始化及引入Game类 2.页面的初始化 3. 蛇类的初始化 4.蛇的运动更新与渲染 4.1 清屏操作 4.2 蛇的运动更新 基于以上,我们对运 ...

  8. 原生JS 实现小游戏 贪吃蛇

    文章目录 (1) 游戏场景搭建 (2) 获取标签.准备数据 (3)贪吃蛇移动 (4) 控制贪吃蛇移动 (5) 随机生成食物 (6) 完成食物消化 (7) 边界判断 (8) 积分判断 (9) 暂停继续 ...

  9. C语言贪吃蛇课程设计实验报告(包含贪吃蛇项目源码)

    文末有贪吃蛇代码全览,代码有十分细致的注释!!! 文末有贪吃蛇代码全览,代码有十分细致的注释!!! 文末有贪吃蛇代码全览,代码有十分细致的注释!!! 码文不易,给个免费的小星星和免费的赞吧,关注也行呀 ...

最新文章

  1. 取消Exchange数据库的自动分配功能
  2. linux下aio异步读写详解与实例
  3. 10、游标(Cursor)的定义及使用
  4. 订单分类和评分--vue.js学习笔记2
  5. Eclipse里究竟是哪个文件存储的project facet信息
  6. 如何从中级Java程序员过渡到高级Java程序员
  7. 计算机统考测试,计算机统考专业测试题.doc
  8. 一致性哈希 php redis,使用一致性哈希实现Redis分布式部署
  9. 甭给《程序员》把脉——你不是主编
  10. 只看当前分支_看小姐姐用动图展示10大Git命令
  11. PHP json_decode($json, TRUE) TRUE使数据格式化为Array,而非object
  12. SCJP 认证考试指南
  13. QQ用户文件夹下即(user文件夹) 各个文件都是干什么的
  14. Unity3D快速入门超详细视频教程(全套免费送)
  15. 新手入门教程:关于网站建设的主要流程和步骤
  16. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 198: illegal multibyte sequence
  17. python 将中文数字转换为阿拉伯数字
  18. HW红队攻防基础建设—C2 IP隐匿技术
  19. SQLSTATE=08S01通讯连接失败
  20. 童年汇老师教你如何给宝宝选玩具

热门文章

  1. 实验9、键盘扫描及数码管显示实验
  2. Spring事务报错: org.springframework.transaction.UnexpectedRollbackException
  3. 局域网语音对讲系统_IP广播对讲系统停车场解决方案
  4. FAQ:Docker和K8s部署常见问题汇总(持续更新)
  5. 逆透视矩阵原理以及应用(平视图转鸟瞰图、俯视图)
  6. trainging contest#2(2011成都现场赛)G BY bly
  7. 泊松分布 指数分布 及其数字特征
  8. 第10章 路由器、交换机及其操作系统介绍
  9. 大数据学习之——Zookeeper安装
  10. 学模具好还是计算机网络好,模具编程要学多久才会?多长时间能学好?