javascript監聽鍵盤事件

樂哉樂哉發表於2013-02-06

javascript監聽鍵盤事件 網路資源

1. 監聽鍵盤事件源和鍵盤動作來實現不同的操作
<script language="JavaScript" for="document" event="onkeydown">
<!--
//Form中的控制元件的名字都為數字如:1,2,3 ...
//這樣在控制元件比較多的情況下可以比較容易對事件來源進行分類
var id=parseInt(event.srcElement.name);
var keyid = event.keyCode;
if(id>6 && id<76 )...{ //利用Form中控制元件的名字判斷
  if(event.keyCode>=48 && event.keyCode <= 53 ) ...{//鍵盤橫行數字鍵0-5的鍵值
    event.srcElement.value = event.keyCode-48;
    event.keyCode=9; //Tab鍵;轉至下一項
    }else if(event.keyCode>=0x60 && event.keyCode <= 0x65 )...{//鍵盤數字部分數字鍵0-5的鍵值
    event.srcElement.value = event.keyCode-0x60;
     event.keyCode=9; 
     playSound();
    }
    
    if(event.keyCode ==13)...{
    event.keyCode =9;
    document.form1.elements[id-1].focus();
    }
} else ...{
    if(event.keyCode ==13 && event.srcElement.type!='submit' )...{
        event.keyCode = 9;
        
    }
}
-->
</script> 

2. 利用回車代替Tab鍵
<script language="javascript" for="document" event="onkeydown">

<!--

  if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')

     event.keyCode=9;

-->

</script>


附:鍵盤各鍵對應的鍵值
 
 

值 描述/r
0x1 滑鼠左鍵/r
0x2 滑鼠右鍵/r
0x3 CANCEL 鍵/r
0x4 滑鼠中鍵/r
0x8 BACKSPACE 鍵/r
0x9 TAB 鍵/r
0xC CLEAR 鍵/r
0xD ENTER 鍵/r
0x10 SHIFT 鍵/r
0x11 CTRL 鍵/r
0x12 MENU 鍵/r
0x13 PAUSE 鍵/r
0x14 CAPS LOCK 鍵/r
0x1B ESC 鍵/r
0x20 SPACEBAR 鍵/r
0x21 PAGE UP 鍵/r
0x22 PAGE DOWN 鍵/r
0x23 END 鍵/r
0x24 HOME 鍵/r
0x25 LEFT ARROW 鍵/r
0x26 UP ARROW 鍵/r
0x27 RIGHT ARROW 鍵/r
0x28 DOWN ARROW 鍵/r
0x29 SELECT 鍵/r
0x2A PRINT SCREEN 鍵/r
0x2B EXECUTE 鍵/r
0x2C SNAPSHOT 鍵/r
0x2D INSERT 鍵/r
0x2E DELETE 鍵/r
0x2F HELP 鍵/r
0x90 NUM LOCK 鍵/r
A 至 Z 鍵與 A – Z 字母的 ASCII 碼相同:
值 描述/r
65 A 鍵/r
66 B 鍵/r
67 C 鍵/r
68 D 鍵/r
69 E 鍵/r
70 F 鍵/r
71 G 鍵/r
72 H 鍵/r
73 I 鍵/r
74 J 鍵/r
75 K 鍵/r
76 L 鍵/r
77 M 鍵/r
78 N 鍵/r
79 O 鍵/r
80 P 鍵/r
81 Q 鍵/r
82 R 鍵/r
83 S 鍵/r
84 T 鍵/r
85 U 鍵/r
86 V 鍵/r
87 W 鍵/r
88 X 鍵/r
89 Y 鍵/r
90 Z 鍵/r
0 至 9 鍵與數字 0 – 9 的 ASCII 碼相同:
值 描述/r
48 0 鍵/r
49 1 鍵/r
50 2 鍵/r
51 3 鍵/r
52 4 鍵/r
53 5 鍵/r
54 6 鍵/r
55 7 鍵/r
56 8 鍵/r
57 9 鍵/r
下列常數代表數字鍵盤上的鍵:
值 描述/r
0x60 0 鍵/r
0x61 1 鍵/r
0x62 2 鍵/r
0x63 3 鍵/r
0x64 4 鍵/r
0x65 5 鍵/r
0x66 6 鍵/r
0x67 7 鍵/r
0x68 8 鍵/r
0x69 9 鍵/r
0x6A MULTIPLICATION SIGN (*) 鍵/r
0x6B PLUS SIGN (+) 鍵/r
0x6C ENTER 鍵/r
0x6D MINUS SIGN (–) 鍵/r
0x6E DECIMAL POINT (.) 鍵/r
0x6F DIVISION SIGN (/) 鍵/r
下列常數代表功能鍵:
值 描述/r
0x70 F1 鍵/r
0x71 F2 鍵/r
0x72 F3 鍵/r
0x73 F4 鍵/r
0x74 F5 鍵/r
0x75 F6 鍵/r
0x76 F7 鍵/r
0x77 F8 鍵/r
0x78 F9 鍵/r
0x79 F10 鍵/r
0x7A F11 鍵/r
0x7B F12 鍵/r
0x7C F13 鍵/r
0x7D F14 鍵/r
0x7E F15 鍵/r
0x7F F16 鍵/r

相關文章