修改你的函数
function goTextB()
{
   if(event.keyCode==39){
    event.keyCode=35;//35是End,36是Home    
    TextB.focus();
    }
}
function goTextA(){if(event.keyCode==37) TextA.focus();}
类似的函数一样,我测试过了

解决方案 »

  1.   

    <script language=javascript>
    function goTextB()
    {
    if((event.keyCode==39)&&(TextA.value==""))
    {
    TextB.focus();
    }
    else
    {
    if((event.keyCode==39)&&(getCursorPosInTextRange(TextA)==TextA.value.length))
    {
    TextB.focus();
    }

    }
    }function goTextA()
    {
    if((event.keyCode==37)&&(TextB.value==""))
    {
    TextA.focus();
    }
    else
    {
    if((event.keyCode==37)&&(getCursorPosInTextRange(TextB)==0))
    {
    TextA.focus();
    }

    }
    }function getCursorPosInTextRange(textbox) 

    var currentRange=document.selection.createRange(); 
    var allRange=textbox.createTextRange(); 
    var len=0; 
    while(currentRange.compareEndPoints("StartToStart",allRange)>0) 

    currentRange.moveStart("character",-1); 
    len++; 

    return len; 

    </script>
    <input id="TextA" onkeydown="goTextB()" />
    <input  d="TextB" onkeydown="goTextA()" />