大众计算机学习网

专门提供各种电脑教程

jquery监听左右方向键的代码

Admin | 2015-9-13 10:25:33 | 被阅次数 | 2384

  使用jquery来监听网页中的事件,是否按下了键盘上的左键和右键,其代码如下:

  <script type="text/javascript"> 
  $(document).ready(function(){
    $(document).keydown(function(event){
      var KeyNumCode=0,e=e||event;
      KeyNumCode=e.keyCode||e.which||e.charCode;
      var keyName = String.fromCharCode(KeyNumCode);
   switch(KeyNumCode)
      {
        case 37:
             alert("Left"+ keyName);
             break;
        case 39:
             alert("Right"+ keyName);
             break;
        default:
       alert("other"+ keyName);
      }
    });
  });
  </script>

  其中,keyName指的是按键对应的字符。KeyNumCode是按键对应的字母。由于存在兼容性的问题,因此,用到了e=e||event;和e.keyCode||e.which||e.charCode;这样就兼容了IE,FF,谷歌浏览器等主流的浏览器。

  上面的代码相当巧妙,首先,e=e||event;这句代码是为了进行浏览器事件对象获取的兼容。js中这句代码的意思是,如果在FireFox或Opera中,隐藏的变量e是存在的,那么e||event返回e,如果在IE中,隐藏变量e是不存在,则返回event。

  其次,currKey=e.keyCode||e.which||e.charCode;这句是为了兼容浏览器按键事件对象的按键码属性,如IE中,只有keyCode属性,而FireFox中有which和charCode属性,Opera中有keyCode和which属性等。