table如何用方向键进行移动文本框input聚焦点(完整代码)
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
:table如何用方向键进行移动文本框input聚焦点(完整代码) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head>
<body> <table class="table table-bordered border-primary mt-2 table-responsive" id="tablePop"> <tr class="m-0 p-0"> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value="" readonly></td> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value="" readonly></td> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value="" readonly></td> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value="" readonly></td> </tr> <tr class="m-0 p-0"> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value=""></td> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value=""></td> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value=""></td> <td class="m-0 p-0"><input class="form-control m-0 p-0" type="text" style="" value=""></td> </tr> </table> </body>
<script> //全局变量记录行列索引 var rows_count; var cols_count; //向左移动 function moveLeft(r,c,tableId){ var obj = document.getElementById(tableId); if (c>0) {c=c-1;} obj.rows[r].cells[c].childNodes[0].focus(); } //向右移动 function moveright(r,c,tableId){ var obj = document.getElementById(tableId); if(c<obj.rows[r].cells.length){c=c+1;} obj.rows[r].cells[c].childNodes[0].focus(); } //向上移动 function moveup(r,c,tableId){ var obj = document.getElementById(tableId); if(r>0)r=r-1; obj.rows[r].cells[c].childNodes[0].focus(); } //向下移动 function movedown(r,c,tableId){ var obj = document.getElementById(tableId); if(r<obj.rows.length){r=r+1;} obj.rows[r].cells[c].childNodes[0].focus(); } /** * @function 获取Table单元格Input的值 * @param {string} 参数 tableId * @returns 返回数组 * @desription 说明:参数为Table的id值 */ function getTableValue(tableId,keycode) { var obj = document.getElementById(tableId); //循环Table行数 for (var i = 0; i < obj.rows.length; i++) {
for (var j = 0; j < obj.rows[i].cells.length; j++) { if (obj.rows[i].cells[j].childNodes[0] == document.activeElement) { rows_count=i; cols_count=j; if(keycode==37){ moveLeft(rows_count,cols_count,tableId); beark; } if(keycode==38){ moveup(rows_count,cols_count,tableId); beark; } if(keycode==39){ moveright(rows_count,cols_count,tableId); beark; } if(keycode==40){ movedown(rows_count,cols_count,tableId); beark; } } } } } //全局监听事件 document.onkeydown=function(e){ //对整个页面监听 var keyNum=window.event ? e.keyCode :e.which; //按下左键 if(keyNum==37){ getTableValue("tablePop","37"); }
//向上键 if(keyNum==38){ getTableValue("tablePop","38");
} //右键 if(keyNum==39){ getTableValue("tablePop","39"); } //向下键 if(keyNum==40){ getTableValue("tablePop","40"); } } </script> </html> 该文章在 2023/6/8 16:48:25 编辑过 |
关键字查询
相关文章
正在查询... |