Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2023-06-13 09:15:44 时间
做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息。
第一想法就是,网上去copy一段代码直接用。但了百度、谷歌找了个遍,找到的代码80%以上都是一样的。有的代码太老,都不能用。有的只有部分浏览器能用。折腾了半小时也没个合适的办法。最后一想,干脆自己动手。
一、思路
每次点击回车的时候,获取当前的焦点位置,然后设置它的下一个元素获取焦点;
二、代码
<scripttype="text/javascript"> $("input:text:first").focus(); document.onkeydown=functionenterHandler(event) { varinputs=$("input");//可自行添加其它过滤条件 varbrowser=navigator.appName;//浏览器名称 varuserAgent=navigator.userAgent;//取得浏览器的userAgent字符串 varCode=""; if(browser.indexOf("Internet")>-1)//IE Code=window.event.keyCode; elseif(userAgent.indexOf("Firefox")>-1)//火狐 Code=event.which; else//其它 Code=event.keyCode?event.keyCode:event.which?event.which:event.charCode; if(Code==13)//可以自行加其它过滤条件 { for(vari=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和火狐对键值获取的不同,所以对浏览器做了简单的判断区分。这样就可以在各个浏览器上获取敲击的键值。
最后,获取到当前的值以后,就可以加其它的各种条件了。
相关文章
- JQuery设置搜索框默认值,当输入框获取焦点时,默认值消失详解编程语言
- jQuery插件简介
- jQuery $.getScript()方法的用法
- 几行代码轻松搞定jquery实现flash8类似的连接效果
- JQuery下的Live方法和$.browser方法使用代码
- jquery判断checkbox(复选框)是否被选中的代码
- Jquery与JS两种方法仿twitter/新浪微博高度自适应无缝滚动实现代码
- Jquery的扩展方法总结
- 基于jquery的web页面日期格式化插件
- JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
- ASP.NET中UpdatePanel与jQuery同时使用所遇问题解决
- input输入框获得/失去焦点时隐藏/显示文字(jquery版)
- 『jQuery』名称冲突使用noConflict方法解决
- jQuery文本框(inputtextare)事件绑定方法教程
- jquery.messager.js插件导致页面抖动的解决方法
- jquery选择器排除某个DOM元素的方法(实例演示)
- Jquery图片延迟加载插件jquery.lazyload.js的使用方法
- jquery动态添加元素事件失效问题解决方法
- jQuery$命名冲突解决方案汇总
- jQuery操作cookie方法实例教程
- 3种Jquery限制文本框只能输入数字字母的方法
- jquery的attr方法禁用表单元素禁用输入内容
- jQuery修改CSS伪元素属性的方法
- jquery通过ajax加载一段文本内容的方法
- jQuery老黄历完整实现方法
- jQuery获取样式中颜色值的方法
- jquery通过load获取文件的内容并跳到锚点的方法