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); //循環(huán)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; } } } } } //全局監(jiān)聽事件 document.onkeydown=function(e){ //對整個頁面監(jiān)聽 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 編輯過 |
關鍵字查詢
相關文章
正在查詢... |