[高分求助] 求一套较复杂的页面操控程序,参与讨论的内容有借鉴意义,则都有分数相赠,谢谢。
我知道java可以实现较复杂的页面控制,我自己也可以写一些简单的鼠标操控代码。但最近打算写一个完全用键盘操作的小程序,实在是有点头晕,特请各位高手出手相助。分数大大的有,(*^__^*)   嘻嘻……   
 需求是这样的:   
 有一个3行10列的html表格,暂时称作表格1,   
 -------------------------------------------------- 
 1      |   2      |   3      |   4      |   5      |   6      |   7      |   8      |   9      |   10   |    
 11   |   12   |   13   |   14   |   15   |   16   |   17   |   18   |   19   |   20   |       
 21   |   22   |   23   |   24   |   25   |   26   |   27   |   28   |   29   |   30   |       
 --------------------------------------------------   
 1、所有数字所在表格的初始背景为白色; 
 2、按一次小键盘的   +   键或者小键盘的   Enter   键,可以依次移动焦点,顺序升序(1   ->    30),每次移动一格; 
 3、按一次小键盘的   -   键,可以依次移动焦点,顺序降序(30   ->    1),每次移动一格; 
 4、当焦点停留在某个数字所在表格时,按一次小键盘的   1   键,表格背景变成红色;按一次小键盘的   2   键,表格背景变成黄色;按一次小键盘的   3   键,表格背景变成蓝色;按一次小键盘的   *   键,表格背景变成白色(初始颜色); 
 5、按一次小键盘的   /   键,弹出一个提示框框,选是,整个table的背景还原成初始的白色;选否,不进行任何操作; 
 6、用鼠标可以随意控制焦点位置,例如1~10已经有颜色了,用鼠标左键选择3,然后可以进行步骤4的操作;     
 另有一个统计表格,暂时称作表格2,用来统计表格1的结果,   
 -------------------------------------------------- 
 红   |   0 
 黄   |   0 
 蓝   |   0 
 --------------------------------------------------   
 1、当表格1有3个红色时,则红色后面的数字显示3,依次类推,黄和蓝的显示情况; 
 2、按一次小键盘的   /   键(与表格1联动),弹出一个提示框框,选是,统计数字归0;选否,不进行任何操作;     
 只要参与讨论的内容有借鉴意义,则都有分数相赠,回答最好的,另外赠送100分,(*^__^*)   嘻嘻……
------解决方案--------------------提供一个思路,具体请实现一下。   
 //对每一个td设定id,把键盘事件加到onclick事件中去 
 function addEvent() 
 { 
 var objList = new Array(1,2,3,4,5,.....30); 
 for(i=0;i++;i <objList.length) 
 { 
 var obj= objList[i]; 
 obj.attachEvent( "onclick ", "KeyOnclick "); 
 } 
 }   
 //这儿写键盘事件的功能 
 function KeyOnclick() 
 { 
 //function..... 
 } 
 }   
 //html 
 //定义每一个对象 
  <table>  
  <tr>  <td id=1> 1 </td> .... </tr>  
  <tr>  <td id=11> 11 </td> .... </tr>  
  <tr>  <td id=21> 21 </td> .... </tr>  
  </table>
------解决方案--------------------因为一次发送的字数限制 后来把td的属性都写到js里面了减少字数..... 又删了个方法 第一次发的时候忘了测试 再发一个带注释的纯脚本段   
  <script language= "javascript ">  
 var boxs = new Array(); //元素缓存 
 var focusarray = 0; //指针 
 //数量 
 var cred = 0;  
 var cyellow = 0; 
 var cblue = 0; 
 //数量显示容器 
 var ored = document.getElementById( "sred "); 
 var oyellow = document.getElementById( "syellow "); 
 var oblue = document.getElementById( "sblue ");   
 //按键事件 
 function document.onkeypress() 
 { 
 	switch(window.event.keyCode) 
 	{ 
 		case 45: 
 			arrmove(-1);break; // "- " 
 		case 43: 
 		case 13: // "+ " 和 Enter 
 			arrmove(1);break; 
 		case 47: // "/ " 
 			if(confirm( "重置全部? ")) 
 				for(var i=0;i <boxs.length;i++) 
 					changeColor(i,0); 
 			break; 
 		case 42:// "* " 
 			changeColor(focusarray,0);break; 
 		case 49:// "1 " 
 			changeColor(focusarray,1);break; 
 		case