keypress对应的是字符编码,如“ABC”,“123”之类,有大小写之分(有兼容性问题)
keydown,keyup对应的是键盘的键码,无大小写之分,每个键盘都有一个键码(无兼容性问题)
使用keypress时最好使用charCode,但只有IE8及以下浏览器不支持,统一返回“undefined”,只有使用keyCode才会有正确的返回值
在Firefox下把keypress和keyCode对应的话,不管什么键得到的返回值都是0(chrome和IE不存在这个问题),因此要做兼容
document.onkeypress = function(event){ event = event || window.event; alert(getCode(event)); } function getCode(event){ if(typeof event.charCode == "number"){ return event.charCode; }else{ return event.keyCode; } }