经过测试,显然事件执行的顺序是: keydown->keypress->keyup.

但是连续按一个按键的话,会一直触发:keydown keypress。直到你提起按键,会触发keyup。

但是对一些特殊的键子,各个事件在浏览器里能触发的事件并不一样。

有几点需要注意:

1.像keypress对: shift ctrl 上下键等非字符的输入不会触发。

2.在enter键遇到form表单的时候,当只有一个文本框里并且输入ENTER的时候,form表单会自动提交,这时候只会触发keydown,keypress两个事件。

3.当监听keydown事件,enter键遇到form表单并且target='_blank'的时候有些浏览器会拦截页面,原因是:

因为keydown在按下回车的时候已经触发,但这时程序还在处理逻辑,在处理完提交的时候,浏览器会认为是程序打开的新页面,不认为是用户行为打开的,导致浏览器拦截新页面的打开,解决办法是:把监听keydown换成监听keypress。

总结:

keydown 从表现上来看是按下任意键。按下的字符,如果是文本框的话还没有显示到文本框之前就产生的事件。keydown只要按下一个键就会触发。

keypress 就是在松开按键时发生,此时字符已经输入到文本框。要按下并松开并有输入性字符的按键才会触发。

java keydown_键盘事件之keydown keypress keyup区别相关推荐

  1. java keydown_键盘事件keydown、keypress、keyup随笔整理总结

    英文输入法: 事件触发顺序:keydown - > keypress - > keyup 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chrome:输入 ...

  2. js捕获键盘事件之keydown、keyup以及keypress

    js keyup.keypress和keydown事件都是有关于键盘的事件 当一个按键被pressed 或released在每一个现代浏览器中,都可能有三种客户端事件. keydown event k ...

  3. java keypress_jquery 键盘事件 keypress() keydown() keyup()用法总结

    事件的定义 完整的 key press 过程分为两个部分:1. 按键被按下:2. 按键被松开. 当按钮被按下时,发生 keydown 事件. keydown()方法触发 keydown 事件,或规定当 ...

  4. Java Swing 键盘事件监听

    Java Swing 键盘事件监听 开发工具与关键技术:java. elipse2019.jdk1.8 作者:Amewin 撰写时间:2019年9月16日 键盘事件的事件源一般丐组件相关,当一个组件处 ...

  5. html body keydown,HTML DOM--gt;键盘事件:keydown/keyup/keypress

    1.定义和使用 keydown:某个键盘按键被按下 keyup:某个键盘按键被松开 keypress:个键盘按键被按下并松开 注意: 1. 键盘事件的属性不能用于以下元素: , , , , , , , ...

  6. HTML DOM-->键盘事件:keydown/keyup/keypress

    1.定义和使用 keydown:某个键盘按键被按下 keyup:某个键盘按键被松开 keypress:个键盘按键被按下并松开 注意: 1. 键盘事件的属性不能用于以下元素: <base>, ...

  7. java 获取键盘事件,java获取键盘事件

    本人认为,实现它其实最 简单的莫属一个类,Java 本身就提供的,这个类就是 Scanner.先举个例子如下: import java.util.Scanner; /** * 测试从键盘读取用户的.. ...

  8. keydown,keypress,keyup三者之间的区别:

    最近看了Javascript高级教程中对过滤输入的介绍,想实现比如电话号码中不能包好非数值的字符,而相应文本中插入字符的操作是keypress事件,所以就想通过阻止这个事件的默认事件行为来阻止这个事件 ...

  9. java程序 键盘事件_java编写程序实现键盘钢琴,运用键盘事件、鼠标事件

    java编写程序实现键盘钢琴,运用键盘事件.鼠标事件 界面     实现 MouseListener,MouseMotionListener,KeyListener接口,当鼠标进入不同按钮时,会播放不 ...

最新文章

  1. 香帅的北大金融学课笔记10 -- 金融衍生品
  2. Java基础(五)继承和多态
  3. BZOJ 3039: 玉蟾宫( 悬线法 )
  4. 【渝粤教育】国家开放大学2019年春季 0134-22T劳动法学 参考试题
  5. selenium之HTMLTestRunner练习
  6. 更新node_kubernetes证书更新
  7. 红黑树的删除_红黑树
  8. 【Sqoop】Sqoop job实现增量导入的原理
  9. C++ 设计模式之Static Factory模式(简单工厂模式)
  10. 实际应用中installshield的事件处理
  11. 从事三年java开发后, 我打算转人工智能
  12. eclipse 汉化
  13. 二进制,十进制,十六进制相互转换(小白友好)
  14. docker 的具名挂载与匿名挂载
  15. PDPS软件:机器人TCP轨迹跟踪功能介绍与使用方法
  16. ToLua原理和使用教程
  17. 5、OpenGL入门 贴图叠加【Win32+VS2019】亲测代码
  18. 升级4K屏,支持串流,奇遇Dream Pro上手体验
  19. 博文推荐|通过 Apache Pulsar + ScyllaDB 构建实时聊天消息流
  20. STM32 标准库+ESP8266+华为云物联网平台

热门文章

  1. 计蒜客-20 islands 炉石传说
  2. java实现细胞自动机
  3. snort 基本关键字
  4. 权限控制最常见的五种方法
  5. wps公式如何加序号_WPS表格怎么只打印部分内容?_金山WPS_办公软件_软件教程
  6. python循环拼接字符串_Python字符串拼接
  7. 数据通信领域的几个指标Gbps、Mbps
  8. 学会这四招让积分兑换商城优势化运营
  9. 第八章 ALDS1_7_C:Tree Walk 树的遍历
  10. centos7修改root密码