javascript鍵盤事件_javascript

[JavaScript]:e.which,e.charCode,e.keyCodejavascript

說明:

charCode:對於 keypress 事件,該屬性聲明瞭被敲擊的鍵生成的 Unicode 字符碼。對於 keydown 和 keyup 事件,它指定了被敲擊的鍵的虛擬鍵盤碼。虛擬鍵盤碼可能和使用的鍵盤的佈局相關。Internet Explorer 使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 使用 event.which。        

測試環境:

Internet Explorer 9.0.8112.16421 Firefax 9.0.1php

Google Chrome 15.0.874.106 Safair 5.1 Opera 11.60css

鍵盤事件:

在這3種事件類型中,keydown和keyup比較底層,而keypress比較高級。java

keypress只能針對一些能夠打印出來的字符有效,而對於功能按鍵,如F1-F十二、Backspace、Enter、Escape、 PageUP、PageDown和箭頭方向等,就不會產生keypress事件,可是能夠產生keydown和keyup事件。然而在FireFox中,功能按鍵是能夠產生keypress事件的。ajax

e.which將給出該鍵的索引值,把索引值轉化成該鍵的字母或數字值的方法須要用到靜態函數String.fromCharCode()正則表達式

在IE中,只有一個keyCode屬性,而且它的解釋取決於事件類型。對於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;

 

 推薦博文:瀏覽器

  1. 用類的概念寫asp操做數據庫類_asp
  2. 本身編寫的ajax類_javascript
  3. AJAX核心XMLHttpRequest的屬性和方法介紹_javascript
  4. 簡單的php圖片上傳類_php
  5. 網頁中的元素綁定/移除事件_javascript
  6. javascript獲取元素css屬性值_javascript
  7. 正則表達式驗證數字/電話/手機/郵箱_javascript
相關文章
相關標籤/搜索