Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法_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和火狐对键值获取的不同,所以对浏览器做了简单的判断区分。这样就可以在各个浏览器上获取敲击的键值。

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

演示地址:http://demo.jb51.net/js/2014/jsenterqiehuan/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, 焦点
Enter
焦点图兼容浏览器、enter为什么叫回车、js控制回车enter建、js enter回车、enter键为什么叫回车,以便于您获取更多的相关知识。

时间: 2024-08-29 08:26:51

Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法_jquery的相关文章

Enter回车切换输入焦点实现思路与代码兼容各大浏览器_jquery

做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息. 第一想法就是,网上去copy一段代码直接用.但了百度.谷歌找了个遍,找到的代码80%以上都是一样的.有的代码太老,都不能用.有的只有部分浏览器能用.折腾了半小时也没个合适的办法.最后一想,干脆自己动手. 一.思路 每次点击回车的时候,获取当前的焦点位置,然后设置它的下一个元素获取焦点; 二.代码 <script type="text/javascript"> $('input:tex

js完美实现@提到好友特效(兼容各大浏览器)

 本文给大家分享的是一则使用javascript完美实现兼容各大浏览器的@好友自动提示的特效,是根据百度贴吧的效果模仿来的,推荐给小伙伴们,希望大家能够喜欢.     要求 1.输入@时,弹出匹配的好友菜单 2.光标进入包含有"@好友"的标签时,弹出菜单 3.按backspace删除时,如果光标前面是包含有"@好友"的标签,弹出菜单 4.兼容ie,firefox. 具体做法 针对要求一,很自然的会想到对输入框绑定事件.这里要绑定mousedown,而不是mouseu

HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列

 HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列  本文给大家分享的是使用HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列的方法和示例,非常的实用,特别是在BS架构的企业级应用,有需要的小伙伴可以参考下.     BS架构的企业级应用中,当一个表格列数较多时,用户一个常见的需求就是把前面几个重要的列固定住,这样拖动滚动条时固定的列会方便用户查看数据,用户体验很好.一些重量级的JS组件库也都有这个功能,那么有没有更简单的方法实现这个功能呢? 这个需求常见的解决方案是使

js/jquery获取文本框输入焦点的方法

 本篇文章主要是对js/jquery获取文本框输入焦点的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一.    代码如下:  function CheckForm() {              if(document.form1.trainingName.value==""){                      alert("培训班名称不能为空!");                      document.form1.trai

HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列_javascript技巧

BS架构的企业级应用中,当一个表格列数较多时,用户一个常见的需求就是把前面几个重要的列固定住,这样拖动滚动条时固定的列会方便用户查看数据,用户体验很好.一些重量级的JS组件库也都有这个功能,那么有没有更简单的方法实现这个功能呢? 这个需求常见的解决方案是使用表格拼接的方法,这个方案如果要制作静态的网页,或者功能简单的动态页面,逻辑比较简单,技术上也不复杂,很容易实现,但是如果要做成组件,动态功能较多的话,就需要写大量的冗余代码,难以维护,甚至于一个简单的功能,都需要写很多的代码,比如事件处理等,

jQuery简单实现点击文本框复制内容到剪贴板上的方法_jquery

本文实例讲述了jQuery简单实现点击文本框复制内容到剪贴板上的方法.分享给大家供大家参考,具体如下: //点击文本框复制其内容到剪贴板上方法 function copyToClipboard(txt) { if (window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", txt); alert("已经成功复制到剪帖板上!"); } e

JQuery勾选指定name的复选框集合并显示的方法_jquery

本文实例讲述了JQuery勾选指定name的复选框集合并显示的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&qu

jQuery实现仿腾讯微博滑出效果报告每日天气的方法_jquery

本文实例讲述了jQuery实现仿腾讯微博滑出效果报告每日天气的方法.分享给大家供大家参考.具体分析如下: 这是仿腾讯微博滑出效果的每日天气代码,鼠标放上去,天气内容将从左向右滑出来,像开抽屉一样,本动画效果流畅,当然少不了jQuery的功劳,本代码使用了1.6.2版本的jQuery插件来实现这一功能. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/

jQuery实现dialog设置focus焦点的方法_jquery

本文实例讲述了jQuery实现dialog设置focus焦点的方法.分享给大家供大家参考.具体分析如下: 当弹出对话框,默认我们应该将焦点定位到输入的文本框,但是在dialog.show()之前写上$("#txtGroupName").focus();无法生效. 查看jQuery的官方文档后,发现dialog提供了一个focus的参数,ok,试试先~~ //显示新建项目群组对话框 function showCreateProjectGroupDialog(i) { $("#l