在Form里有多个输入域,通过Tab可以在这些输入域中导航,需要用户敲入回车键的效果和Tab见一致,即将
回车键转为Tab键
IE下可以实现,代码如下
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>无标题文档</title>
- <script type="text/javascript">
- function enterToTab(event){
- var e = event?event:window.event
- if(e.keyCode == 13){
- e.keyCode = 9;
- }
- }
- </script>
- </head>
-
- <body>
- <form>
- <input id="input1" type="text">
- <input id="input2" type="text">
- <input id="input3" type="text">
- <input id="input4" type="text">
- </form>
- </body>
- </html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script type="text/javascript">
function enterToTab(event){
var e = event?event:window.event
if(e.keyCode == 13){
e.keyCode = 9;
}
}
</script>
</head>
<body>
<form>
<input id="input1" type="text">
<input id="input2" type="text">
<input id="input3" type="text">
<input id="input4" type="text">
</form>
</body>
</html>
但是在FireFox下事件的keyCode 是只读的,不能修改,不知火狐下如何实现这个功能
采纳的答案
- function enterToTab(obj, event){
- var e = event?event:window.event
- if(e.keyCode == 13){
- obj.nextSibling.focus();
- return false;
- }
- }
function enterToTab(obj, event){
var e = event?event:window.event
if(e.keyCode == 13){
obj.nextSibling.focus();
return false;
}
}
函数多传一个参数,就是当前DOM的this, 原理就是entry当前的input, 就让鼠标焦点获得到下一个input框