如何用键盘的上下方向键,选择表格的行,连焦点都在行上面。

解决方案 »

  1.   

    <TABLE id="tbl1" border=1>
    <TR>
    <TD><input type=text></TD>
    </TR>
    <TR>
    <TD><input type=text></TD>
    </TR>
    <TR>
    <TD><input type=text></TD>
    </TR>
    </TABLE>
    <script>
    var i=0;
    document.onkeydown=function(){
    if(event.keyCode!=38 && event.keyCode!=40)return;
    var tbl=document.getElementById("tbl1").childNodes[0];

    if(event.keyCode==38){
    if(i==0)i=tbl.childNodes.length;
    tbl.childNodes[--i].childNodes[0].childNodes[0].focus();
    }else if(event.keyCode==40){
    if(i==tbl.childNodes.length-1)i=-1;
    tbl.childNodes[++i].childNodes[0].childNodes[0].focus();
    }
    }
    </script>
      

  2.   

    思路是这样的:我觉得你把每个表格的id定义成假如temp_id0---temp_id10,你首先把焦点放到temp_id0上,假设你按一下右键,你定义一个全局变量来接收i值,初始值为0,也就是说开始的时候是这样的:
    var i = 0;//全局的
    var id = "temp_id"+ i; 
    如果你按左键(或者上键)了就i--;
    如果你按右键(或者下键)了就i++;
    这样id就会控制不同的表格区域,你再添加上你想要的效果就可以了