测试结果: 在IE下: >> 支持keyCode >> 不支持which和charCode,二者值为 undefined 在Firefox下: >> 支持keyCode,除功能键外,其他键值始终为 0 >> 支持which和charCode,二者的值相同 在Opera下: >> 支持keyCode和which,二者的值相同 >> 不支持charCode,值为 undefined //By 枫岩@IECN.Net function $(s){ return document.getElementById(s)?document.getElementById(s):s; } function viewKeyInfo(e){ var currKey=0,CapsLock=0; var e=e||event; currKey=e.keyCode||e.which||e.charCode; CapsLock=currKey >=65 && currKey <=90; $("type").innerHTML=e['type']; $("currKey").innerHTML=String.fromCharCode(currKey); $("Decimal").innerHTML=currKey; $("keyCode").innerHTML=e['keyCode']; $("charCode").innerHTML=e['charCode']; $("caps").innerHTML=CapsLock; $("shiftKey").innerHTML=e['shiftKey']; $("ctrlKey").innerHTML=e['ctrlKey']; $("repeat").innerHTML=e['repeat']; $("which").innerHTML=e['which']; } document.onkeypress= viewKeyInfo; 请按下任意键看测试效果: type: 当前Key: Decimal: keyCode: 注:在FF下,keyCode始终为0 which: 注:在IE下,which始终为undefined ; 在Opera下,keyCode和charCode二者的值相同 charCode: 注:在IE、Opera下,charCode始终为undefined ; 在FF下,which和charCode二者的值相同 大写: altKey: ctrlKey: shiftKey: repeat: body {color:#999;font:normal 14px tahoma,宋体,Geneva,Arial,sans-serif;} span {color:#f00;font-weight:bold;padding:0 5px;} strong {color:#090;font-weight:normal;padding:0 5px;} [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]