可输入 DOM 的事件触发顺序及注意点
假设我们点击一个可输入 DOM,输入某个字符,然后再点击另一个可输入 DOM,则事件触发顺序如下:
focus
→ keydown
→ keypress
→ input
→ keyup
→ blur
→ focus
- 如果在
keydown
事件里面执行了event.preventDefault
方法,则keypress
和input
事件不会触发,keyup
事件正常触发 - 如果在
keypress
事件里面执行了event.preventDefault
方法,则input
事件不会触发,keyup
事件正常触发 - 输入不可打印字符,比如
ESC
、Alt
不会触发keypress
和input
事件 - 输入
Backspace
不会触发keypress
事件 - 执行
event.stopPropagation
方法并不能阻止后续事件的触发