首页 > 代码库 > 事件——键盘事件中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>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。