电脑技术学习

js 判断键盘事件大全 兼容FireFox和IE(退格、制表、回车、空格、方向键、删除键等)

dn001

第二部分:兼容浏览器

凡是涉及浏览器的js,就都要考虑浏览器兼容的问题。

目前常用的浏览器主要有基于IE和基于Mozilla两大类。Maxthon是基于IE内核的,而FireFox和Opera是基于Mozilla内核的。

2.1 事件的初始化

首先需要了解的是如何初始化该事件,基本语句如下:

   function keyDown(){}

   document.onkeydown = keyDown;

当浏览器读到这个语句时,无论按下键盘上的哪个键,都将呼叫KeyDown()函数。

2.2 FireFox和Opera的实现方法

FireFox和Opera等程序实现要比IE麻烦,所以这里先描述一下。

keyDown()函数有一个隐藏的变量--一般的,我们使用字母“e来表示这个变量。

   function keyDown(e)

变量e表示发生击键事件,寻找是哪个键被按下,要使用which这个属性:

   e.which

e.which将给出该键的索引值,把索引值转化成该键的字母或数字值的方法需要用到静态函数String.fromCharCode(),如下: ;;

   String.fromCharCode(e.which) ;;

把上面的语句放在一起,我们可以在FireFox中得到被按下的是哪一个键: ;

   function keyDown(e) { ;;

   ;    ; var keycode = e.which; ;;

      ; ;var realkey = String.fromCharCode(e.which); ;;

      ; ;alert("按键码: " + keycode + " 字符: " + realkey); ;;

   ; ;}

   ; document.onkeydown = keyDown;