JAvascriptキーボードイベント_javascript


[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
=
=
=
=
 
 
/* @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;

 
推薦ブログ:
  • クラスの概念でasp操作データベースクラスを書きます_asp
  • 自分で作成したajaxクラス_javascript
  • AJAXコアXMLHttpRequestのプロパティとメソッドの説明_javascript
  • 簡単なphp画像アップロードクラス_php
  • Webページの要素バインド/削除イベント_javascript
  • javascript取得要素css属性値_javascript
  • 正規表現デジタル/電話/携帯電話/メールボックスを検証_javascript

  •