当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法教程

Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法教程

2019年03月26日  | 移动技术网IT编程  | 我要评论
做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息。 第一想法就是,网上去copy一段代码直接用。但了百度、谷歌找了个遍,找到的代码80%以

做项目时,客户要求能够用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和火狐对键值获取的不同,所以对浏览器做了简单的判断区分。这样就可以在各个浏览器上获取敲击的键值。

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网