很多时候,在填写完资料、帐号、密码等之后,用户习惯性地会按Enter(回车键)表示完成。 为了做好用户体验,我们必须在此监听这一动作。 具体逻辑是,在前面的input标签里监听onkeydown事件,当用户输入完之后,按回车键,立马跳到下一个输入框,到最后一个输入框输入完成时,就按回车,focus到提交标签那里。 第一种是:在input标签里面添加onkeydown事件。 <input οnkeydοwn=”jump(下一个input的id)” type=”text” id=”name” /> <input οnkeydοwn=”jump(下一个input的id)” type=”text” id=”pwd” /> <input οnkeydοwn=”jump(下一个input的id)” type=”text” id=”code” /> <input type=”submit” id=”submit” value=”登录”/> <script type=”text/javascript”> function jump(next){ var nextInp = document.getElementById(next); var event = arguments.callee.caller.arguments[0] || window.event; if(event.keyCode == 13){//判断是否按了回车,enter的keycode代码是13,想看其他代码请猛戳这里。 nextInp.focus(); } } </script> 第二种是:在js里面添加onkeydown监听事件(监听方法比较多,这里只列举一种)。 这里只列举一个标签的事件,其他代码自己再组织吧。 <input type=”text” id=”code” /> <input type=”submit” id=”btnS” value=”登录”/> <script type=”text/javascript”> var code= document.getElementById(“code”); var btnS= document.getElementById(“btnS”); function jump(event){ var event = event || window.event;//这里的event兼容跟上面不同,关于event的兼容,请猛戳这里 if(event.keyCode == 13){ btnS.focus(); } } code.οnkeydοwn=jump; </script>
转载于:https://blog.51cto.com/zhangchi/1330976