可以使用ActiveX对象WScript.Shell,不过有安全提示<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<script language="javascript">
var ws = new ActiveXObject("WScript.Shell");
document.onkeydown = function(){
switch(event.keyCode){
case 37:
ws.sendKeys("+{TAB}");
break;
case 39:
ws.sendKeys("{TAB}");
break;
}
}
</script>

解决方案 »

  1.   

    我给你搞定一半了,另一半正在研究
    <script language="javascript">
    function test(e)
    {
    if (e.keyCode==39)
    {
    e.keyCode=9;
    }

    if (e.keyCode==37)
    {
    //alert('left');
    e.keyCode=(e.shiftKey & 9);
    }
    }
    </script>
    <html >
    <body onkeydown="javascript:test(event);">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
    </body>
    </html>
      

  2.   

    目前我实现了这个效果,不过当用左方向键回退到被disabled的输入框时就抱错。代码如下,希望大伙一块看看有没有办法解决;
    <html>
    <body>
    <input type="text" >
    <input type="text" >
    <input type="text" >
    <input type="text" >
    <input type="text" >
    <input type="text" disabled>
    <input type="text" >
    <input type="text" >
    <input type="text" >
    <input type="text" >
    <input type="text" >
    <input type="text" >
    </body>
    <script language="javascript">
    function documentKeyDown(){
        var SrcElement;
        SrcElement = window.event.srcElement;
        if(window.event.keyCode == 13 && SrcElement.type!="button" && SrcElement.type!="textarea" ){   
          //回车键替换Tab
          window.event.keyCode = 9;
        }else if(window.event.keyCode==37){
         //左方向键
         //window.event.keyCode=(e.shiftKey & 9);
         backFocus(event.srcElement);
        }else if(window.event.keyCode==39){
         //右方向键
         window.event.keyCode=9;
        }
    }
    function backFocus(obj){
      var i=obj.sourceIndex;
      while(document.activeElement==obj&&obj.tagName!="BODY")document.all(i--).focus();
    }
    document.onkeydown=documentKeyDown;</script></html>
      

  3.   

    谢谢稻草人的回复,这个方法我也试过,但遇到一个隐藏div时就同样抱错。
    <div style="display:none">
     <input type="text">
    </div>
    是否有一个属性或其他方式能判断某个HTML对象是否可以执行focus()方法
      

  4.   

    做个错误异常处理就可以了
    function backFocus(obj){
      var i=obj.sourceIndex;
      while(document.activeElement==obj&&obj.tagName!="BODY") {
        try {
          document.all(i--).focus();
        }catch(e) {}
      }
    }
      

  5.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title> - http://www.never-online.net </title>
        <meta http-equiv="ImageToolbar" content="no" />
        <meta name="author" content="never-online, BlueDestiny"/>
        <meta name="keywords" content="never modules, Mozilla CSS, C#, .net, Reference, BlueDestiny, never-online"/>
        <meta name="description" content="javascript reference, c sharp artilces"/>
        <meta name="creator.name" content="never-online, BlueDestiny" />
        <style type="text/css" media="all" title="Default">    </style>
        <script type="text/javascript">
        //<![CDATA[
    function tabDemo() {
      var doc_all = document.getElementsByTagName("*");
      var curtEl = event.srcElement;
      var nKeycode = event.keyCode;
      if (nKeycode==39) { doit(1); return; } 
      else if (nKeycode==37) { doit(-1); return; }
      function doit(n) {
        for (var i=0; i<doc_all.length; i++) {
          if (curtEl==doc_all[i]) {
            try {
              var j = i+(n);
              j>=doc_all.length?j=doc_all.length-1:j<0?j=0:"";
              doc_all[j].focus();
            }  catch(ex) {
              n>0?doit(n+1):doit(n-1); 
              break;
            }
          }
        }
      }
    }
    document.onkeydown=tabDemo;
        //]]>
        </script>
      </head>  <body id="www.never-online.net">
    <input/>
    <input disabled=true value='disabled'/>
    <input/>
    <input/>
    <input/>
    <textarea></textarea>
      </body>
    </html>