如何用javascript语言编写用enter键和上下左右键控制Textbox内的焦点问题?给出正确代码给满分 说具体点,是控制焦点在多个text之间移动,还是控制光标位置,对enter有和具体要求... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先声明,这是我的一段收藏代码: <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> 我要实现的功能是:在这个textbox中输完数后,按一下ENTER或者向下的箭头就可以切换到另一个textbox中。 <body onkeydown="if(event.keyCode==13||event.keyCode==40)event.keyCode=9;"><input><input> jq datatables 分页事件问题! 谁用过swfobject? Firefox不支持同名复选框的多选吗? js table插入行 页面提示筐提示问题 求助,在线等(GOOGLE MAP API 3 加载大量折线到地图上怎么解决性能)。如果有好的回答会追加分 救命呀 大家都用什么来调试javascript脚本呀 如何实现一个div的逐渐显示隐藏 超傻瓜问题,求救~,在线等 如何取得图片的宽度? 请教如何用javascript程序,当点击checkbox(客户端控件)时,判断其为checkbox. 怎样让textarea的滚动条随着内容的增加而自动到最后(内容是从文件读入)
<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>
在这个textbox中输完数后,按一下ENTER或者向下的箭头就可以切换到另一个textbox中。
<input><input>