之前写键盘触发事件时,一直不清楚keydown和keyup事件的区别,今天遇到个bug才知道.
举个简单的例子:1
2
3
4
5
6
7<script type="text/javascript">
document.onkeydown = function(event) {
if(event.keyCode == 13) {
console.log("别按我");
}
}
</script>
点击enter键,我们在控制台里面会发现输出了一遍”别按我”,但是如果将onkeydown换成onkeyup,当按下enter时,如果不松开会一直输出”别按我”,这就是两者区别,onkeydown会在没松开的时候一直触发,而onkeyup按一次只会执行一次.