关于用键盘来控制光标上下移动,以及回车事件,还有键盘快捷键,类似于掌上电脑 通过 keyCode 来判断, 请参考:http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=181020 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,分不少,下面是我修改得来的<script><!--function submitForm(targetName){ formName.action = targetName; if (targetName.substr(0,4) != "test") formName.target = "_blank"; else formName.target = "_self"; formName.submit();}//===========//方向键控制//==============var obj;var CanMove=false;var objId;var rowth;function setobj(input,rowths){ obj=input; objId= parseInt(obj.id); rowth=parseInt(rowths); }function directionKeyDown() {var url="test.asp"; with(window.event){ with(srcElement){ if (keyCode==13)//回车提交页面 { if(document.activeElement.name=="pagesizes_bottom"||document.activeElement.name=="page") url="test.asp?pageth=yes"; submitForm(url);} else if (keyCode==119) { //按F8键选择光标所在行 if(obj&&rowth>0){ if(document.getElementById("checkid"+rowth).checked) document.getElementById("checkid"+rowth).checked=false; else document.getElementById("checkid"+rowth).checked=true; check_chgBg(rowth); } } else if (keyCode == 37){//← if(obj){ var s=document.selection.createRange(); if(obj.tagName!="SELECT") //select不支持此方法 {s.setEndPoint("StartToStart",obj.createTextRange());} //s.setEndPoint("StartToEnd",obj.createTextRange()) if(s.text=="") //到达字符串开头,光标跳到前一个元素 ||obj.tagName=="SELECT" { if (document.all.item((objId - 1).toString(),rowth)) { document.all.item((objId - 1).toString(),rowth).focus(); if(document.all.item((objId - 1).toString(),rowth).tagName!="SELECT") document.all.item((objId - 1).toString(),rowth).select(); } } } } else if (keyCode == 38){//↑ if (rowth>0&&obj) { if (document.all.item(objId.toString(),rowth-1)) { if(document.all.item(objId.toString(),rowth-1).tagName!="SELECT") //对于选择列,上下聚焦会自动变更选择值 {document.all.item(objId.toString(),rowth-1).focus(); document.all.item(objId.toString(),rowth-1).select(); }} } } else if (keyCode == 39){//→ if(obj){ var s=document.selection.createRange(); if(obj.tagName!="SELECT") //select不支持此方法 {s.setEndPoint("StartToEnd",obj.createTextRange());} if(s.text=="") //到达字符串最末,光标跳到后一个元素 ||obj.tagName=="SELECT" { if (document.all.item((objId + 1).toString(),rowth)) { document.all.item((objId + 1).toString(),rowth).focus(); if(document.all.item((objId + 1).toString(),rowth).tagName!="SELECT") document.all.item((objId + 1).toString(),rowth).select(); } } } } else if (keyCode == 40){//↓ if (document.all.item(objId.toString(),rowth+1)&&obj) { if(document.all.item(objId.toString(),rowth+1).tagName!="SELECT") {document.all.item(objId.toString(),rowth+1).focus(); document.all.item(objId.toString(),rowth+1).select();} } } else return true; }}}//--><script><form name="formName"><input type="text" size="2" id="1" name="test" onfocus='setobj(this,1)'><input type="text" size="2" id="5" name="test" onfocus='setobj(this,5)'><input type="text" size="2" id="9" name="test" onfocus='setobj(this,9)'></form><script> 在ASP。NET页面中用WEB控件很容易可以做到。 <html> <script>function KeyDown(){ //屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 alert("ASCII代码是:"+event.keyCode); if ((window.event.altKey)&& ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 → alert("不准你使用ALT+方向键前进或后退网页!"); event.returnValue=false; } if ((event.keyCode==8) || //屏蔽退格删除键 (event.keyCode==116)|| //屏蔽 F5 刷新键 (event.keyCode==112)|| //屏蔽 F1 刷新键 (event.ctrlKey && event.keyCode==82)){ //Ctrl + R event.keyCode=0; event.returnValue=false; } if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n event.returnValue=false; if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10 event.returnValue=false; if (window.event.srcElement.tagName == "A" && window.event.shiftKey) window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页 if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4 window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); return false;}}function Showhelp(){ alert("呵呵"); return false;} </script> <head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>键盘代码</title> <style> <!--body { font-family: Verdana; color: #000080; font-size: 9pt }--></style> </head> <body onkeydown="KeyDown()" oncontextmenu="event.returnValue=false" onhelp="Showhelp();return false;"> <p align="center">请按键盘</p> </body></html> 问题还是没有解决,我想达到的效果是打开页面,光标自动会在第一个文本框里面,然后用键盘控制上下,是循环的,我做的是掌上电脑的程序,所以没有TAB键。还有一点是光标在最后一个文本框的时候能不能回车就能提交该表单。需要写程序才可以实现此功能。掌上电脑的IE,跟我们用的IE不同,它没有一些功能。多谢大哥们帮忙。最好是能写好一个程序给我发过来。我太笨,不会写。谢谢各位了。 if(window.event.keyCode==40) event.keyCode = 9 ? if(event.keyCode==13) form.submit() web基础 求教:JS调整tr顺序的问题 求正则 简单 问题 下班结帖!! js实现框架 JS修改IE安全设置 有没有办法判断表单中任意输入框或选择框为空? 关于点击一个按钮然后增加iFrame,但是再点一下按钮,就是隐藏这个IFrame 我想得到这样的效果!看一下吧!!!PLMM的问题~~~ 怎样在页面中随时调用js函数 求关于javascript访问XML方面的帮助文件(手册),越详细越好(急!送高分!) 有关textarea中文字的字体
<!--
function submitForm(targetName)
{ formName.action = targetName;
if (targetName.substr(0,4) != "test")
formName.target = "_blank";
else
formName.target = "_self";
formName.submit();
}
//===========
//方向键控制
//==============
var obj;
var CanMove=false;
var objId;
var rowth;function setobj(input,rowths)
{ obj=input;
objId= parseInt(obj.id);
rowth=parseInt(rowths);
}function directionKeyDown() {
var url="test.asp";
with(window.event){
with(srcElement){
if (keyCode==13)//回车提交页面
{ if(document.activeElement.name=="pagesizes_bottom"||document.activeElement.name=="page") url="test.asp?pageth=yes";
submitForm(url);
}
else if (keyCode==119) { //按F8键选择光标所在行
if(obj&&rowth>0){
if(document.getElementById("checkid"+rowth).checked) document.getElementById("checkid"+rowth).checked=false; else document.getElementById("checkid"+rowth).checked=true;
check_chgBg(rowth);
}
}
else if (keyCode == 37){//←
if(obj){
var s=document.selection.createRange();
if(obj.tagName!="SELECT") //select不支持此方法
{s.setEndPoint("StartToStart",obj.createTextRange());}
//s.setEndPoint("StartToEnd",obj.createTextRange())
if(s.text=="") //到达字符串开头,光标跳到前一个元素 ||obj.tagName=="SELECT"
{
if (document.all.item((objId - 1).toString(),rowth)) {
document.all.item((objId - 1).toString(),rowth).focus();
if(document.all.item((objId - 1).toString(),rowth).tagName!="SELECT") document.all.item((objId - 1).toString(),rowth).select(); }
}
}
}
else if (keyCode == 38){//↑
if (rowth>0&&obj) {
if (document.all.item(objId.toString(),rowth-1)) {
if(document.all.item(objId.toString(),rowth-1).tagName!="SELECT") //对于选择列,上下聚焦会自动变更选择值
{document.all.item(objId.toString(),rowth-1).focus();
document.all.item(objId.toString(),rowth-1).select(); }}
}
}
else if (keyCode == 39){//→
if(obj){
var s=document.selection.createRange();
if(obj.tagName!="SELECT") //select不支持此方法
{s.setEndPoint("StartToEnd",obj.createTextRange());}
if(s.text=="") //到达字符串最末,光标跳到后一个元素 ||obj.tagName=="SELECT"
{
if (document.all.item((objId + 1).toString(),rowth)) {
document.all.item((objId + 1).toString(),rowth).focus();
if(document.all.item((objId + 1).toString(),rowth).tagName!="SELECT") document.all.item((objId + 1).toString(),rowth).select(); }
}
}
}
else if (keyCode == 40){//↓
if (document.all.item(objId.toString(),rowth+1)&&obj) {
if(document.all.item(objId.toString(),rowth+1).tagName!="SELECT")
{document.all.item(objId.toString(),rowth+1).focus();
document.all.item(objId.toString(),rowth+1).select();} }
}
else
return true;
}}
}
//-->
<script><form name="formName">
<input type="text" size="2" id="1" name="test" onfocus='setobj(this,1)'>
<input type="text" size="2" id="5" name="test" onfocus='setobj(this,5)'>
<input type="text" size="2" id="9" name="test" onfocus='setobj(this,9)'>
</form>
<script>
<script>
function KeyDown(){ //屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键
alert("ASCII代码是:"+event.keyCode);
if ((window.event.altKey)&&
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←
(window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →
alert("不准你使用ALT+方向键前进或后退网页!");
event.returnValue=false;
}
if ((event.keyCode==8) || //屏蔽退格删除键
(event.keyCode==116)|| //屏蔽 F5 刷新键
(event.keyCode==112)|| //屏蔽 F1 刷新键
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
event.keyCode=0;
event.returnValue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
event.returnValue=false;
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
event.returnValue=false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;}
}
function Showhelp(){
alert("呵呵");
return false;
}
</script>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>键盘代码</title>
<style>
<!--
body { font-family: Verdana; color: #000080; font-size: 9pt }
--></style>
</head>
<body onkeydown="KeyDown()" oncontextmenu="event.returnValue=false" onhelp="Showhelp();return false;">
<p align="center">请按键盘</p>
</body>
</html>