js判断键盘按键_销魂都市_百度空间

以前在网上看书的时候,总是希望能有一个功能,当按"->"方向键时,可以自动跳转到下一章,今天终于实现了这个功能,顺便也掌握了js中判断键盘按键的方法.权以此文志之!

判断方法:

在填写表单时,习惯性会按下回车键,这将导致表单提交,很不好,这里介绍一个方法截获它。

  其实很简单,只要在想截获的区域增加Onkeydown事件函数,并在执行函数中写下如下语句:

  if (window.event.keyCode==13) window.event.keyCode=0

  这样就取消回车键了

  如果想模拟Tab键,只要写成

  if (window.event.keyCode==13) window.event.keyCode=9

  就行了,它会跳到另一个元素上。

表 3. DHTML 键盘事件
名称 说明
onkeypress
这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。

onkeyup
这个事件在用户放开任何先前按下的键盘键时发生。

onkeydown
这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。


示例:

function document.onkeydown()
{
if ( event.keyCode=='39' ) //->右箭头
{
   window.open("");
}
}

function document.onkeypress()
{
if ( event.keyCode=='43' )
{
   alert( '你输入了键盘的 “ + ” 键');
}
}

在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress、onkeydown、onkeyup三个事件进行出来。该三个事件的执行顺序如下:onkeydown -> onkeypress ->onkeyup。在一般情况下,采用三种键盘事件均可对键盘输入进行有效的响应。当在实际使用中,会发现这几者有些不同的差别。

onkeypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,onkeydown和onkeyup均可以对系统功能键进行有效的拦截,但事件截获的位置不同,可以根据具体的情况选择不同的键盘事件。
由于onkeypress不能对系统功能键进行捕获,导致window.event对象的keyCode属性和onkeydown,onkeyup键盘事件中获取的keyCode属性不同,主要表现在onkeypress事件的keyCode对字母的大小写敏感,而onkeydown、onkeyup事件不敏感;onkeypress事件的keyCode无法区分主键盘上的数字键和付键盘数字键的,而onkeydown、onkeyup的keyCode对主付键盘的数字键敏感。
----------------------------------------------------------------------------------------------------------------------------------------------------
注:在Maxthon浏览器中,onkeydown和onkeyup有连续响应两次键盘事件的BUG,onkeydown不能正常地对F1~F12的功能键进行正常的截获(onkeyup没有发现该问题),具体原因不明。不知道以后是否会进行订正。

屏蔽组合键ctrl+N

<script language=javascript>
function KeyDown(){   
if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ←
       (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →
     alert("不准你使用ALT+方向键前进或后退网页!");
     event.returnValue=false;
     }
if ((event.keyCode==8)||            //屏蔽退格删除键
      (event.keyCode==116)){          //屏蔽 F5 刷新键
     event.keyCode=0;
     event.returnValue=false;
     }
if ((event.ctrlKey)&&(event.keyCode==78)){   //屏蔽 Ctrl+n
     event.returnValue=false;
     }
if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10
     event.returnValue=false;
     }
if (event.keyCode==122){ //屏蔽 F11
     event.returnValue=false;
     }
}


ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122 z
123 { 124 | 125 } 126 ~




郑重声明:资讯 【js判断键盘按键_销魂都市_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——