There is a difference between onkeypress and onkeydown. The difference between onkeypress and onkeydown events will be explained below.
The onkeypress event occurs when the user presses and releases any alphanumeric key. But system buttons (e.g. arrow keys, function keys) are not recognized.
The onkeydown event occurs when the user presses any keyboard key, including system buttons.
Specific differences:
1. One is released and the other is not released, onkeydown occurs before onkeypress.
2.onkeypress cannot system button.
2. The keyCode captured by onkeydown does not distinguish between letter sizes, but onkeypress does.
onkeypress occurs when the user presses and releases any alphanumeric key. System buttons (for example, arrow keys and function keys) are not recognized.
onkeyup occurs when the user releases any previously pressed keyboard key.
onkeydown occurs when the user presses any keyboard key (including system buttons such as arrow keys and function keys).
onkeypress
As of Microsoft® Internet Explorer 4.0, the onkeypress event fires and can be canceled for the following keys:
Letters: A - Z (uppercase and lowercase)
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - = < [ ] { } , . / ? | ' ` " ~
System: ESC , SPACEBAR, ENTER
onkeydown
As of Microsoft® Internet Explorer 4.0, the onkeydown event fires for the following keys:
Editing: DELETE, INSERT
Function: F1 - F12
Letters: A - Z (uppercase and lowercase)
Navigation: HOME, END, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - = < [ ] { } , . / ? | ' ` " ~
System: ESC, SPACEBAR, SHIFT, TAB
As of Internet Explorer 5, the event also fires for the following keys:
Editing: BACKSPACE
Navigation: PAGE UP, PAGE DOWN
System: SHIFT TAB
As of Internet Explorer 5 , this event can be canceled for the following keys and key combinations by specifying event.returnValue=false:
Editing: BACKSPACE, DELETE
Letters: A - Z (uppercase and lowercase)
Navigation: PAGE UP, PAGE DOWN, END, HOME, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - = < [ ] { } , . / ? | ' ` " ~
System: SPACEBAR, ESC, TAB, SHIFT TAB
You can cancel all keys that fire the onkeydown event in HTML Applications, including most accelerator keys, such as ALT F4.
In Internet Explorer 4.0, you cannot cancel the onkeydown event, but you can use the onkeypress event to cancel keyboard events.
Press both together, like this: