文章目录

  • 触发时机
  • 总结:
    • 不同

触发时机

onkeydown

这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
onkeypress
这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup
这个事件在用户放开任何先前按下的键盘键时发生。
测试代码

window.onload = function () {window.onkeydown = function (event) {event = event || window.event;alert('οnkeydοwn=' + event.which || event.keyCode);};window.onkeypress = function (event) {event = event || window.event;alert('οnkeypress=' + event.which || event.keyCode);};window.onkeyup = function (event) {event = event || window.event;alert('οnkeyup=' + event.which || event.keyCode);};
}

总结:

测试发现onkeydown 事件最先执行,其次是onkeypress,最后是onkeyup;onkeydown 和onkeypress会影响onkeyup的执行。三个事件同事在的话,都是alert的话,只会弹出2个alert,up事件的alert不会弹出。

不同

三者在事件的响应上还有一点不同,就是onkeydown 、onkeypress事件响应的时候输入的字符并没有被系统接受,而响应onkeyup的时候,输入流已经被系统接受。由于onkeydown 比onkeypress先执行,再根据上面的例子可以知道,onkeydown 触发的时候输入流正要进入系统,也就是说onkeydown 事件一完,输入流就进入了系统,无法改变。所以通过onkeydown 事件可以改变用户是按了哪个键;而onkeypress事件则是在输入流进入系统后触发的,但输入流暂未被系统处理,此时已经不能改变输入流了;onkeyup则是输入流被系统处理后发生的。

参考:https://www.jb51.net/article/42263.htm

onkeydown、onkeypress和onkeyup的区别介绍相关推荐

  1. onkeypress 、onkeyup 与onkeydown三者之间的区别

    onkeypress:是在用户按下并放开任何字母数字键时发生.系统按钮(例如,箭头键和功能键)无法得到识别:onkeyup:是在用户放开任何先前按下的键盘键时发生:onkeydown:是在用户按下任何 ...

  2. PHP中file_exists与is_file,is_dir的区别介绍

    PHP中file_exists与is_file,is_dir的区别介绍 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-12 我要评论 很显然file_exists是受了asp的影响, ...

  3. guid linux 识别的分区表_Linux系统MBR和GPT分区的区别介绍

    主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节.它包含操作系统的引导器和存储设备的分区表. 全局唯一标识分区表(GUID Partition Tab ...

  4. slc、mlc、tlc闪存芯片颗粒区别介绍

    2019独角兽企业重金招聘Python工程师标准>>> slc.mlc.tlc闪存芯片颗粒区别介绍   SLC = Single-Level Cell ,即1bit/cell,速度快 ...

  5. 服务器硬盘SAS与SATA区别介绍

    服务器硬盘SAS与SATA区别介绍SAS硬盘与SATA硬盘: 串行技术 - 包括SAS硬盘(串行连接SCSI)和SATA硬盘(串行ATA)- 比旧款的Intel Xeon服务器有了更好的RAS性能.当 ...

  6. python输入和输出的区别_python2和python3的输入和输出区别介绍

    Python3 输入和输出 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdou ...

  7. 网络:WiFi6和WiFi5的区别介绍

    随着WiFi6时代的到来,那么就代表WiFi5时代的落幕,目前不少手机厂商或者电脑无线网卡厂商都将为自家设备添加支持WiFi6.那么大家是否了解对"WiFi6"有所了解呢?WiFi ...

  8. 关于单纤与双纤光端机的区别介绍

    单纤和双纤的光端机最大区别就是它们主板上的光模块区别,其他的地方基本上都是一样的.下面,飞畅科技的小编来为大家详细介绍下单纤与双纤光端机的区别,一起来看看吧! 单纤光端机:接收与发送的数据在一根光纤上 ...

  9. SDH与PDH的区别介绍

    PDH准同步数字系列,1-4次群2048K.8488K.34368K.139264K,有美国/日本标准和欧洲标准,我国沿用的是欧洲标准:30/32路组成一个1次群:各个厂家产品大多互相不兼容. SDH ...

最新文章

  1. iptables的conntrack表满了导致访问网站很慢
  2. 设计模式之Protocol实现代理模式
  3. box-sizing:border-box
  4. DP_字串匹配(HDU_1501)
  5. 680. Valid Palindrome II
  6. 【机器学习】Lasso回归(L1正则,MAP+拉普拉斯先验)
  7. MySQL服务器地址为空,C++/MySQL - 通过主机地址访问数据库时'未知的MySQL服务器主机';没有IP...
  8. WinForm PictureBox删除图片重新加载,显示System.IO.IOException:文件“**.png”正由另一进程使用,因此该进程无法访问此文件
  9. 计算机网络中采用最基本的多路复用技术是,2013年华南理工-计算机网络技术试题...
  10. 正确的逛Github-寻找优秀的中文项目
  11. max函数的线性化方法
  12. 从零开始学习ThingJS之创建/销毁物体
  13. 腾讯开源|TAT Agent-助力轻松完成云服务器运维管理任务
  14. 千峰 音乐播放器 待续
  15. 微型计算机ccc认证依据,3C检测规定
  16. 两端固定弦的自由振动 | 分离变量法(一)| 偏微分方程(十三)
  17. 我们应当怎样做需求确认:快速原型法
  18. MapReduce的运行机制及共同好友
  19. 编程猫创作工具:新版Kitten新体验
  20. [转载]近半年的读书总结

热门文章

  1. 程序员因为试用期被辞退,一气之下删除了自己的代码,被判十个月
  2. 爱天涯For Android(天涯客户端软件)已经发布,欢迎下载试用
  3. 艾永亮:小天才手表如何成为业内巨头,大佬教你如何满足用户需求
  4. iPhone手机装机必备的5个APP,每个都让你欲罢不能,瞬间逼格满满!
  5. 04: 云计算产品、华为云 、 ECS云服务器管理
  6. 微信竟然可以查出行轨迹了?
  7. E001 如何把文字内容写入Excel表格
  8. np.shape()的用法
  9. Endnote无法sync, 一招破解 重置密码后可以登录网页端,却遇到桌面端显示 The username/password specified is not valid!
  10. 【100%通过率】华为OD机试真题 Java 实现【硬件产品销售方案】【2022.11 Q4 新题】