页面事件处理
关于KeyPress和KeyDown事件的区别和联系
KeyPress主要用来监听键盘输出的「字符」
- KeyPress在控件有焦点的情况下按下键时发生。
- KeyPress只能捕获单个字符。
- KeyPressKeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、ANSI字符(注意:只能捕获除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符,如:
/
、{
、}
等). - KeyPress不显示键盘的物理状态(SHIFT键),而只是传递一个字符,KeyPress 将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符,(区分大小写)。
- KeyPress 不区分小键盘和主键盘的数字字符。
KeyDown主要用来监听键盘输出的「功能」
- KeyDown在控件有焦点的情况下按下键时发生。
- KeyDown可以捕获组合键。
- KeyDown事件过程通常可以捕获键盘上除了PrScrn(在键盘右上角)之外的所有按键(这里不讨论特殊键盘的特殊键)
- KeyDown不能判断键值字母的大小写(可通过SHIFT键状态判断)。
- KeyDown区分小键盘和主键盘的数字字符。
KeyUp主要用来监听键盘输出的「功能」
- KeyUp在控件有焦点的情况下释放键时发生。
- KeyUp可以捕获组合键。
- KeyUp事件过程通常可以捕获键盘上除了PrScrn(在键盘右上角)之外的所有按键(这里不讨论特殊键盘的特殊键)
- KeyUp不能判断键值字母的大小写(可通过SHIFT键状态判断)。
- KeyUp区分小键盘和主键盘的数字字符。
- 要判断key修改后的状态必须用KeyUp(如:同步一个输入框内容到span中,keypress和keydown总是少最后一个字符,keyup才能完整同步)。