JAvascriptキーボードイベント_javascript
2796 ワード
[JavaScript]:e.which,e.charCode,e.keyCode
説明:
charCode:keypressイベントの場合、この属性はノックされたキーによって生成されたUnicode文字コードを宣言します.keydownイベントとkeyupイベントでは、ノックされたキーの仮想キーボードコードを指定します.仮想キーボードコードは、使用するキーボードのレイアウトに関連する場合があります.Internet Explorer使用event.keyCodeは押す文字を取り戻し、Netscape/Firefox/Operaはeventを使用する.which.
テスト環境:
Internet Explorer 9.0.8112.16421 Firefax 9.0.1
Google Chrome 15.0.874.106 Safair 5.1 Opera 11.60
キーボードイベント:
この3つのイベントタイプではkeydownとkeyupが最下位を比較し,keypressが上位を比較した.
keypressは印刷可能な文字に対してのみ有効であり、F 1-F 12、Backspace、Enter、Escape、PageUP、PageDown、矢印方向などの機能ボタンに対してはkeypressイベントは発生しないが、keydownおよびkeyupイベントを生成することができる.しかし、FireFoxでは、機能キーはkeypressイベントを生成することができる.
e.whichはこのキーのインデックス値を与える、インデックス値をそのキーのアルファベットまたは数値値に変換する方法は静的関数Stringを用いる必要がある.fromCharCode()
IEでは、keyCode属性は1つのみであり、その解釈はイベントタイプに依存する.keydownの場合、keyCodeはキーコードを格納し、keypressイベントの場合、keyCodeは文字コードを格納します.FireFoxではkeyCodeは常に0であり、keydown/keyupの場合charCode=0、whichはキーコードである.イベントkeypressの場合、whichとcharCodeの両方の値は同じで、文字コードが格納されます.Operaでは、keyCodeとwhichの両方の値は常に同じであり、keydown/keyupイベントではキーコードが格納され、keypress時間では文字コードが格納され、charCodeは定義されず、常にundefinedである.
エクスプローラ
Internet Explorer 6/7/8
Firefox
Internet Explorer 9
Opera
Safari
Chrome
which
undefined
=
=
=
=
=
charCode
undefined
=
=
undefined
=
=
keyCode
(√)
0
=
=
=
=
推薦ブログ:クラスの概念でasp操作データベースクラスを書きます_asp 自分で作成したajaxクラス_javascript AJAXコアXMLHttpRequestのプロパティとメソッドの説明_javascript 簡単なphp画像アップロードクラス_php Webページの要素バインド/削除イベント_javascript javascript取得要素css属性値_javascript 正規表現デジタル/電話/携帯電話/メールボックスを検証_javascript
説明:
charCode:keypressイベントの場合、この属性はノックされたキーによって生成されたUnicode文字コードを宣言します.keydownイベントとkeyupイベントでは、ノックされたキーの仮想キーボードコードを指定します.仮想キーボードコードは、使用するキーボードのレイアウトに関連する場合があります.Internet Explorer使用event.keyCodeは押す文字を取り戻し、Netscape/Firefox/Operaはeventを使用する.which.
テスト環境:
Internet Explorer 9.0.8112.16421 Firefax 9.0.1
Google Chrome 15.0.874.106 Safair 5.1 Opera 11.60
キーボードイベント:
この3つのイベントタイプではkeydownとkeyupが最下位を比較し,keypressが上位を比較した.
keypressは印刷可能な文字に対してのみ有効であり、F 1-F 12、Backspace、Enter、Escape、PageUP、PageDown、矢印方向などの機能ボタンに対してはkeypressイベントは発生しないが、keydownおよびkeyupイベントを生成することができる.しかし、FireFoxでは、機能キーはkeypressイベントを生成することができる.
e.whichはこのキーのインデックス値を与える、インデックス値をそのキーのアルファベットまたは数値値に変換する方法は静的関数Stringを用いる必要がある.fromCharCode()
IEでは、keyCode属性は1つのみであり、その解釈はイベントタイプに依存する.keydownの場合、keyCodeはキーコードを格納し、keypressイベントの場合、keyCodeは文字コードを格納します.FireFoxではkeyCodeは常に0であり、keydown/keyupの場合charCode=0、whichはキーコードである.イベントkeypressの場合、whichとcharCodeの両方の値は同じで、文字コードが格納されます.Operaでは、keyCodeとwhichの両方の値は常に同じであり、keydown/keyupイベントではキーコードが格納され、keypress時間では文字コードが格納され、charCodeは定義されず、常にundefinedである.
エクスプローラ
Internet Explorer 6/7/8
Firefox
Internet Explorer 9
Opera
Safari
Chrome
which
undefined
=
=
=
=
=
charCode
undefined
=
=
undefined
=
=
keyCode
(√)
0
=
=
=
=
/* @By :D.n.sky www.desetang.com */
function $A(s){
return document.getElementById(s)?document.getElementById(s):s;
}
/* */
var viewKey = function (e){
var currKey=0,CapsLock=0;
var e=e||event;
currKey=e.keyCode||e.which||e.charCode;
CapsLock=currKey >=65 && currKey <=90;
var txt="type:"+e['type']
+"Current:"+String.fromCharCode(currKey)
+"Decimal:"+currKey
+"keyCode:"+e['keyCode']
+"which:"+e['which']
+"charCode:"+e['charCode']
+" :"+CapsLock
+"altKey:"+e['altKey']
+"ctrlKey:"+e['ctrlKey']
+"shiftKey:"+e['shiftKey']
+"repeat:"+e['repeat'];
/* */
txt=txt.replace(/(\d)/g,'<font color=#f00>$1</font>');
$A('result').innerHTML=txt;
}
/* */
document.onkeypress= viewKey;
推薦ブログ: