Enter 功能代替 tab
function changekey()
{
var gk=event.keyCode;
if (gk==13) { event.keyCode=9; return; }
}你要是利用上下左右键处理就麻烦了
function changekey()
{
var gk=event.keyCode;
if (gk==13) { event.keyCode=9; return; }
}你要是利用上下左右键处理就麻烦了
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
var cols=3;
var obj;
var CanMove=false;
var key;
function setobj(input){
obj=input;
}function init(){
document.onkeydown=keyDown;
document.onkeyup=keyUp;
}function keyDown(DnEvents){
var key=window.event.keyCode;
if(key==116){
window.event.keyCode=0;
return false;
}
if(key==8){
if(event.srcElement.tagName!="INPUT"){
event.cancelBubble = true;
event.returnValue = false;
return false;
}
}
var IsCtrl=window.event.ctrlKey;
if(!IsCtrl){
return;
}
for(var i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==obj){
if (key == 37){//←
if(i>0){
document.forms[0].elements[i-1].focus();
}
}
if (key == 38){//↑
if(i>cols-1){
document.forms[0].elements[i-cols].focus();
}
}
if (key == 39){//→
if(i<document.forms[0].elements.length-1){
document.forms[0].elements[i+1].focus();
}
}
if (key == 40){//↓
if(i<document.forms[0].elements.length-cols){
document.forms[0].elements[i+cols].focus();
}
}
}
}}function keyUp(UpEvents){
return false;
}
</script>
</head><body bgcolor="#FFFFFF" text="#000000" onload="init()">
<form>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<input type="text" name="textfield" onfocus="setobj(this)">
</td>
<td>
<input type="text" name="textfield2" onfocus="setobj(this)">
</td>
<td>
<input type="text" name="textfield3" onfocus="setobj(this)">
</td>
</tr>
<tr>
<td>
<input type="text" name="textfield5" onfocus="setobj(this)">
</td>
<td>
<input type="text" name="textfield6" onfocus="setobj(this)">
</td>
<td>
<input type="text" name="textfield7" onfocus="setobj(this)">
</td>
</tr>
</table>
</form>
用Ctrl+方向键可以方便的在控件中移动,你也可以自己改成不要Ctrl的。
</body>
</html>
event.keyCode = 9;
<script language="javascript">
function doKeyDown(obj)
{
switch(event.keyCode)
{
case 13:
case 39:
case 40:
if(obj.nextid != "")document.all(obj.nextid).select();
break;
case 37:
case 38:
if(obj.preid != "")document.all(obj.preid).select();
break;
}
}
</script>
第一:<input type="text" id="T_1" nextid="T_2" preid="T_8" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_2" nextid="T_3" preid="T_1" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_3" nextid="T_4" preid="T_2" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_4" nextid="T_5" preid="T_3" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_5" nextid="T_6" preid="T_4" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_6" nextid="T_7" preid="T_5" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_7" nextid="T_8" preid="T_6" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_8" nextid="T_1" preid="T_7" onkeydown="doKeyDown(this)"><br>
{ var keychar,fn,fesum,i,j,k,fsum;
var fname=event.srcElement.name;
if(document.layers) //ns
{ document.captureEvents(event.keydown);
kechar=event.which;
}
if(document.all) //IE
keychar=event.keyCode;
if(keychar==13)
{ fsum=document.forms.length;
if(fname!=null)
{ for(i=0;i<fsum;i++)
{ fesum=document.forms[i].elements.length;
for(j=0;j<fesum;j++)
{ if(fname==document.forms[i].elements[j].name)
{ if(document.forms[i].elements[j].type=="textarea")
return;
if(document.forms[i].elements[j].type=="submit"||document.forms[i].elements[j].type=="reset"||document.forms[i].elements[j].type=="button")
{ document.forms[i].elements[j].click();
return false;
}
k=j+1;
if(k>=fesum)
{ i++;
k=0;
}
if(i>=fsum)
{ i=0;
k=0;
}
for(;document.forms[i].elements[k].type=="hidden";k++);
document.forms[i].elements[k].focus();
if(document.forms[i].elements[k].type=="submit"||document.forms[i].elements[k].type=="reset"||document.forms[i].elements[k].type=="button")
{ document.forms[i].elements[k].click();
return false;
} return false;
}//if
}//for
}//for
}//if
document.forms[0].elements[0].focus();
return false;
}//if
}//function
document.onkeydown=shiftfocus;
<script language="javascript">
function doKeyDown(obj)
{
// alert(obj.nextid);
switch(event.keyCode)
{
case 13:
case 39:
case 40:
if(obj.nextid != "")
{
document.all(obj.nextid).focus();
// document.all(obj.nextid).select();
}
break; case 37:
case 38:
if(obj.preid != "") document.all(obj.preid).focus();
break;
}
}
</script>
<body leftmargin="0" topmargin="14">
<div class="menu" style="background:" id="T_0" nextid="T_1" preid="T_9" onkeydown="doKeyDown(this)">
<table width="99%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
</a></td>
<td width="20%" valign="top" align="right">大陆</td>
</tr>
</table>
</div><div class="menu" border=0 id="T_1" nextid="T_2" preid="T_8" onkeydown="doKeyDown(this)">
<table width="99%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
</a></td>
<td valign="top" align="right">大陆</td>
</tr>
</table>
</div>