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

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

Enter回车切换输入焦点方法兼容各大浏览器的更多相关文章

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

    <script type="text/javascript"> $('input:text:first').focus(); document.onkeydown = ...

  2. 阻止a标签跳转四种方法 兼容各大浏览器(包括IE)

    阻止a标签跳转四种方法 兼容各大浏览器(包括IE) HTML <!--第一种--> <a href="javascript:;">我不会被跳转</a& ...

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

    做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息. 第一想法就是,网上去copy一段代码直接用.但了百度.谷歌找了个遍,找到的代码80%以上都是一样的.有的代码 ...

  4. JavaScript 兼容各大浏览器阻止冒泡事件

    JavaScript 兼容各大浏览器阻止冒泡事件 function stopEvent(event) { //阻止冒泡事件 //取消事件冒泡 var e = arguments.callee.call ...

  5. ☆☆☆☆☆Placeholder兼容各大浏览器的例子☆☆☆☆☆

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 文本框的onchange事件,如何兼容各大浏览器

    在项目中经常会遇到对用户输入的数据进行实时校验,而不是等文本框失去焦点或用户手动点击校验. 首先分析下在哪些情况下文本框会产生change事件. 1.用户通过键盘入正常字符时: 2.用户通过键盘输入非 ...

  7. 怎么控制表单placeholder属性的样式兼容各大浏览器?

    当我们使用placeholder的时候会遇到样式的控制和版本的兼容问题(但是还是只有css3支持),以至于达不到我们想要的效果,下面来看一种: 下面是css: .invalid:-moz-placeh ...

  8. jquery.zclip—复制剪贴板(兼容各大浏览器)

    开始前说两句 WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内 ...

  9. 兼容各大浏览器的event获取

    event: //得到事件 function getEvent(evt){ if (evt && typeof(evt) != "undefined") { var ...

随机推荐

  1. MongoDB小记

    mongodb的一个简单使用. package com.chuntent.mongo; import java.util.Map; import java.util.Map.Entry; import ...

  2. Activity Recognition行为识别

    暑假听了computer vision的一个Summer School,里面Jason J. Corso讲了他们运用Low-Mid-High层次结构进行Video Understanding 和 Ac ...

  3. Javascript performance

    I just went through some vedio related to javascript performance which is great, Here is the notes I ...

  4. AngularJs-ui modal 传参数

    最近开始学习 AnjularJs: 看了两天项目的代码开始动手完成项目中的功能,碰到些问题记录下备忘:方便以后再碰到这样疑惑的coder. 参见 Angular-ui  modal 传递 header ...

  5. Redstone 云观象台 服务器部署 - Nginx配置文件

    以下信息仅针对Redstone的Ngxin配置文件进行更新. web服务器Nginx配置文件结构如下: /etc/nginx/nginx.conf # For more information on ...

  6. YTU 2620: B 链表操作

    2620: B 链表操作 时间限制: 1 Sec  内存限制: 128 MB 提交: 418  解决: 261 题目描述 (1)编写一个函数createlink,用来建立一个动态链表(链表中的节点个数 ...

  7. NDK(6)eclipse下断点调试ndk代码

    Using the NDK Plugin 1. First set the path to SDK and NDK: Eclipse -> Window -> Preferences -& ...

  8. Setup Entity Framework Environment

    http://www.entityframeworktutorial.net/EntityFramework5/setup-entityframework-environment.aspx Entit ...

  9. Cookie操作类 实现记住用户名和密码的功能

    import java.util.Hashtable;import java.util.Iterator;import java.util.Set;import javax.servlet.http. ...

  10. ORA-12154 终极解决办法

    PLSQL连接Oracle数据库总出现12514分2中情况: 1.无法解析指定的连接标识符: 解决办法:我的电脑---属性---高级---环境变量   删除Path变量中C:\oracle\produ ...