zoukankan      html  css  js  c++  java
  • 深入了解jquery中的键盘事件

    很多时候,我们需要获取用户的键盘事件,下面就一起来看看jquery是如何操作键盘事件的。

    一、首先需要知道的是:

    1、keydown()

         keydown事件会在键盘按下时触发.

    2、keyup()

         keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件

    3、keypress()

         keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键

    二、获得键盘上对应的ascII码: 

    $(document).keydown(function(event){ 
            console.log(event.keyCode);
    });

    $tips: 上面例子中,event.keyCode就可以帮助我们获取到我们按下了键盘上的什么按键,他返回的是ascII码,比如说上下左右键,分别是38,40,37,39; 

    三、实例(当按下键盘上的左右方面键时) 

    复制代码
    $(document).keydown(function(event){
     
        //判断当event.keyCode 为37时(即左方面键),执行函数to_left();
     
        //判断当event.keyCode 为39时(即右方面键),执行函数to_right();
     
        if(event.keyCode == 37){
     
           //do something;
        }else if (event.keyCode == 39){
           //do something;
        }
    });
    复制代码

    实例研究:

    比如:小说网站中常见的按左右键来实现上一篇文章和下一篇文章;按ctrl+回车实现表单提交;google reader和有道阅读中的全快捷键操作...(以此提高用户体验) 

    ① 实现ctrl+Enter就是ctrl+回车提交表单: 

    $(document).keypress(function(event) {
     
          if (event.ctrlKey && event.which == 13)
     
         $("form:first").trigger("submit");
     
     })

    ② 监测ctrl按键: 

    $(document).keydown(function(event){
     
           //(ctrlKey和metaKey等效:都是监测)按下ctrl返回turn,按下非ctrl键返回false;
     
           console.log(event.ctrlKey);
     
           //console.log(event.metaKey);         
     
    })

    ③ 键盘系列操作 

    复制代码
    $(document).keydown(function(event){ 
     
        var e = event || window.event;     //作用???
     
        var k = e.keyCode || e.which;  //获取按键的acdII 码
     
        switch(k) {
     
           case 37:
     
               //
     
               break;
     
           case 39:
     
               //
     
               break;
     
        }
     
        return false;
     
    })
    复制代码

     

     
    //另外发现一个应用的方法:当页面转载完成的时候,第一个表单元素获得焦点,以便输入
     
    $("input[type=text]:first").trigger("focus");    
     
    //当表单没获得焦点,但用户却按下键盘的时候,自动为用户定位焦点到输入框上
     
    $(document).keydown(function(){
     
           $("input[type=text]:first").trigger("focus");
     
    })

    以上是列出了jquery键盘事件的常用方法,很多时候应该也够用了。

  • 相关阅读:
    对于bilibili主页head部分的代码的总结以及疑问。
    小项目使用框架(B/S),简单实现mvc分离
    petshop4学习_重构DataList实现分页
    照书抄了个小的sniffer。不过有问题测试不能通过,请求各位帮帮我
    《灵魂的迷茫》
    vs2005中gridview的RowCommand事件
    快速得到google的Gmail(已申请的免看)
    命令行下重启/启动停止IIS服务器的命令
    ES6之const命令
    不容忽视的js面试题
  • 原文地址:https://www.cnblogs.com/iwin9999/p/3473528.html
Copyright © 2011-2022 走看看