可输入 DOM 的事件触发顺序及注意点

假设我们点击一个可输入 DOM,输入某个字符,然后再点击另一个可输入 DOM,则事件触发顺序如下:

focuskeydownkeypressinputkeyupblurfocus

  • 如果在 keydown 事件里面执行了 event.preventDefault 方法,则 keypressinput 事件不会触发,keyup 事件正常触发
  • 如果在 keypress 事件里面执行了 event.preventDefault 方法,则 input 事件不会触发,keyup 事件正常触发
  • 输入不可打印字符,比如 ESCAlt 不会触发 keypressinput 事件
  • 输入 Backspace 不会触发 keypress 事件
  • 执行 event.stopPropagation 方法并不能阻止后续事件的触发
posted @ 2021-08-23 09:27  尹宇星_Kim  阅读(163)  评论(0编辑  收藏  举报