写这篇博文源于w3c中文教程对键盘事件的解释,
onkeydown 某个键盘按键被按下
onkeypress 某个键盘按键被按下并松开
onkeyup 某个键盘按键被松开
可在实践中发现
只注册keypress事件,一只按着某个字母键不放,绑定在document对象上的keypress事件是一直触发的。
只注册keydown事件,一只按着某个字母键不放,绑定在document对象上的keydown事件是一直触发的。
我们在个document上注册keydown、keypress、keyup事件时,
第一种情况,按下一个字母键立即松开,发现调用顺序是keydown->keypress->keyup
第二种情况,当一直按下某字母键时,会一直按照keydown->keypress的顺序触发,直到你松开键盘,触发onkeyup
综上所述,我觉得
对keypress事件的解释应为,手指按压键盘的一瞬间触发,只触发一次。
对keydown事件的解释应为,手指按下键盘的一瞬间触发,只触发一次。
对keyup事件的解释应为,手指松开键盘的一瞬间触发,只触发一次。
一直按着某个字母键不放时,电脑会在逻辑上重复按下、按压这两个状态。
原标题:读w3c中文教程对键盘事件解释的感想
关键词: