1 keydown 键按下的过程
2 keypress 与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件
3 keyup 键被松开
4 compositionstart 中文输入法开始输入触发,每次输入开始仅执行一次
5 compositionupdate 中文输入法输入触发 输入时实时触发
6 compositionend 中文输入完成的情况下 得到的结果就是最终输入完成的结果
7 DOMCharacterDataModified 每次输入都会触发,,无论中文还是英文输入
分析如下
1 英文情况下的触发顺序
2 中文情况下的触发顺序 只输入不确定
第一个q 触发的是 keyup =>compositionstart =>compositionupdate =>DOMCharacterDataModified =>keyup
第二个q 触发的是 keyup =>compositionupdate =>DOMCharacterDataModified =>keyup
compositionstart 只会在第一次输入的时候触发,,接着输入不会触发第二次 ,,如果输入完毕再次输入,会再次触发
// 中文情况下,,keyup有时会触发两次,,暂时不理解
3 中文情况下的触发顺序 输入并确定
Enter键并没有触发DOMCharacterDataModified
但是触发了compositionend 拿到的是当前输入的值
4 可以拿来用做,判断当前是不是中文输入法,或者是判断输入的是不是功能键,,