给你一个例子:
<html>
<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>
<html>
<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>
解决方案 »
- 为什么总出现java.lang.NoClassDefFoundError: javax/xml/registry/infomodel/User错误呀?
- 在grid中使用Ext.wv.DatetimeField???
- 怎样通过<a>调用swf播放器 播放mp3文件,代码如下:
- 新手 JS 特效 小问题!
- javascript魔力的经典代码
- 找高手改造discuz!NT论坛,主要是显示图片和上传图片有点变化,其它改动不大。
- 100分求救一个超级简单的问题(关于asp中调用javascript)
- 诚请各路好手看看以下这段javascript代码是什么意思!
- [原创文章]动态生成select选项全接触
- JQuery选择器
- 如何用javascript打开一个新的窗口,并且使他隐藏起来,也就是浏览者看不到,请知道的帮帮小弟,谢谢,在线等候!
- asc码值
<input>
<input>
<script>
function document.onkeydown(){
with(window.event){
if(srcElement.tagName!="INPUT")return;
switch(keyCode){
case 37:document.all(srcElement.sourceIndex-1).focus();break;
case 39:document.all(srcElement.sourceIndex+1).focus();break;
}
}
}
</script>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<input type="text" name="textfield">
</td>
<td>
<input type="text" name="textfield">
</td>
</tr>
<tr>
<td>
<input type="text" name="textfield">
</td>
<td>
<input type="text" name="textfield">
</td>
</tr>
</table>
<script>
function document.onkeydown(){
with(window.event){
if(srcElement.tagName!="INPUT")return;
var idx=srcElement.sourceIndex;
switch(keyCode){
case 37:while(idx>0&&(e=document.all(--idx)))if(e.tagName=="INPUT"){e.focus();break;}break;
case 39:while(e=document.all(++idx))if(e.tagName=="INPUT"){e.focus();break;}break;}
}
}
</script>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<input type="text" name="textfield">
</td>
<td>
<input type="text" name="textfield">
</td>
</tr>
<tr>
<td>
<input type="text" name="textfield">
</td>
<td>
<input type="text" name="textfield">
</td>
</tr>
</table>
<script>
function document.onkeydown(){
var objs=document.getElementsByTagName("INPUT")
with(window.event){
if(srcElement.tagName!="INPUT")return;
for(i=0;i<objs.length;i++)if(objs[i]==srcElement)break;
switch(keyCode){
case 37:if(i>0)objs[i-1].focus();break;
case 39:if(i<objs.length-1)objs[i+1].focus();break;}
}
}
</script>