当前位置: 首页 > 编程笔记 >

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

鲁斯伯
2023-03-14
本文向大家介绍Enter回车切换输入焦点实现思路与代码兼容各大浏览器,包括了Enter回车切换输入焦点实现思路与代码兼容各大浏览器的使用技巧和注意事项,需要的朋友参考一下

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

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

 类似资料:
  • 本文向大家介绍Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法,包括了Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法的使用技巧和注意事项,需要的朋友参考一下 做项目时,客户要求能够用enter回车直接切换输入(焦点),当最后一个时候,直接提交信息。 第一想法就是,网上去copy一段代码直接用。但了百度、谷歌找了个遍,找到的代码80%以上都是一样的。有的代码太老,都

  • 本文向大家介绍jQuery+css实现的tab切换标签(兼容各浏览器),包括了jQuery+css实现的tab切换标签(兼容各浏览器)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery+css实现的tab切换标签。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》及《jQ

  • 本文向大家介绍完美兼容各大浏览器的jQuery插件实现图片切换特效,包括了完美兼容各大浏览器的jQuery插件实现图片切换特效的使用技巧和注意事项,需要的朋友参考一下 文件里面的功能注释也写得非常详细(详见zoeDylan.ImgChange-1.0.1.js文件),对网友们的学习是很有帮助的,虽然样式不太好看,大家可以自己写,好好利用哦。。。 JS代码部分: CSS代码部分: HTML代码部分:

  • 本文向大家介绍jQuery+css实现的时钟效果(兼容各浏览器),包括了jQuery+css实现的时钟效果(兼容各浏览器)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery+css实现的时钟效果。分享给大家供大家参考,具体如下: 运行效果截图如下: 这里没有做太多的修饰,简单的实现了一下功能,另外,用的是js的setTimeout方法,当时间长了之后,会有一定的延时,建议,在每隔

  • 问题内容: 我刚刚被要求防止浏览器保存输入到特定表单字段中的数据。我从事Web开发已经有好几年了,这是一个相对较新的功能。我能够找到表单字段属性autocomplete=“ off”,但似乎找不到任何文档说明哪些浏览器支持它。谁能指出我表单属性和浏览器兼容性图表的正确方向? 问题答案: 请注意,所有主流浏览器都在忽略密码字段的属性。 我只能提供轶事证据,但是我还没有遇到过一个不尊重的浏览器,这种体

  • 浏览器兼容 主流浏览器都兼容 HTML5 的新标签,对于 IE8 及以下版本不认识 HTML5的新元素,可以使用 JavaScript 创建一个没用的元素来解决,例如: <script> document.createElement("header"); </script> 也可以使用 shiv 来解决兼容性问题,详情可参考 HTML5 Shiv