onkeydown是按下的时候触发的,这个时候键值没有输出来。onkeyup是按键抬起的时候执行的,这个时候键值已经有了。和按多长时间没关系,比如你给输入框加这2个事件,<input type="text" id="test1" onkeydown="alert(this.value);"/><input type="text" id="test2" onkeyup="alert(this.value);"/>你看看这二个不同的运行结果就明白 了!