• Jquery回车键切换焦点方法(兼容各大浏览器)


    做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息。

    第一想法就是,网上去copy一段代码直接用。但了百度、谷歌找了个遍,找到的代码80%以上都是一样的。有的代码太老,都不能用。有的只有部分浏览器能用。折腾了半小时也没个合适的办法。最后一想,干脆自己动手。

    一、思路

      每次点击回车的时候,获取当前的焦点位置,然后设置它的下一个元素获取焦点;

    二、代码

    <script type="text/javascript">
     $('input:text:first').focus(); 
     document.onkeydown = function enterHandler(event)
     {
         var inputs = $("input");                     //可自行添加其它过滤条件     
         var browser = navigator.appName ;            //浏览器名称
         var userAgent = navigator.userAgent;         //取得浏览器的userAgent字符串 
         
         var Code = '' ;
         if(browser.indexOf('Internet')>-1)            // IE    
            Code = window.event.keyCode ;
         else if(userAgent.indexOf("Firefox")>-1)     // 火狐
            Code =  event.which;
         else                                         // 其它
             Code = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
        
         if (Code == 13)                             //可以自行加其它过滤条件
         {
             for(var i=0;i<inputs.length;i++)
             {
                if(inputs[i].id == document.activeElement.id)
                {    
                    i = i== (inputs.length - 1) ? -1 : i ;
                    $('#'+ inputs[i+1].id ).focus()
                    break;
                }
             }
          }
     }
    
    </script>
        

    其中,因为IE和火狐对键值获取的不同,所以对浏览器做了简单的判断区分。这样就可以在各个浏览器上获取敲击的键值。

    最后,获取到当前的值以后,就可以加其它的各种条件了。

    点击演示

    -------------------------------------------------------------------------------关 于 我-----------------------------------------------------------------
    本人菜鸟一枚,平凡而普通,成为一名程序猿,为生活而努力,为理想而积累。
    爱好编程,喜欢钻研。
    目前供职TDX,专职前端开发。
    可以点此找到我
  • 相关阅读:
    DateTime与DateTime?赋值问题以及null类型的如何赋值问题
    ajax请求aspx.cs后台方法
    Windows 下安装 Memcached
    windows下mysql表名区分大小写
    csredis
    路由名称
    发布后的项目打开swagger
    IActionResult的返回类型
    ASP.NET Core开发之HttpContext
    Web SQL数据库
  • 原文地址:https://www.cnblogs.com/wsun/p/3930027.html
Copyright © 2020-2023  润新知