zl程序教程

您现在的位置是:首页 >  前端

当前栏目

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

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

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