首页 > 代码库 > 事件——键盘事件中keyCode、which和charCode 的兼容性

事件——键盘事件中keyCode、which和charCode 的兼容性

 

  keyCode: IE、Chrome支持,在FF下,keyCode返回非字符按键的Unicode,如果是字符按键返回始终为0。

      which:   FF,Chrome支持;在IE下,which和charCode始终为undefined ,jquery方式下和keyCode值相同。

charCode:   Chrome支持,在FF下,非字符键返回0,如果是字符按键返回Unicode

<!DOCTYPE html><html><head>    <title></title>    <meta charset="utf-8"></head><body><script src="http://code.jquery.com/jquery-latest.js"></script><script type="text/javascript">    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];        $("altKey").innerHTML=e[altKey];        $("ctrlKey").innerHTML=e[ctrlKey];        $("repeat").innerHTML=e[repeat];        $("which").innerHTML=e[which];    }    document.onkeypress= viewKeyInfo;</script><p>请按下任意键看测试效果:</p>type:<span id="type"></span><br />当前Key:<span id="currKey"></span><br />Decimal:<span id="Decimal"></span><br />keyCode:<span id="keyCode"></span> <strong>注:IE、Chrome支持,在FF下,keyCode返回非字符按键的Unicode,如果是字符按键返回始终为0</strong><br />which:<span id="which"></span> <strong>注:FF,Chrome支持;在IE下,which和charCode始终为undefined ,jquery方式下和keyCode值相同。</strong><br />charCode:<span id="charCode"></span> <strong>注:Chrome支持,在FF下,非字符键返回0,如果是字符按键返回Unicode</strong><br />大写:<span id="caps"></span><br />altKey:<span id="altKey"></span><br />ctrlKey:<span id="ctrlKey"></span><br />shiftKey:<span id="shiftKey"></span><br />repeat:<span id="repeat"></span><br /><style type="text/css" media="all">    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;}</style></body></html>