L'exemple de cet article décrit la méthode d'utilisation de JS pour changer le focus de la zone de saisie avec les touches fléchées. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Voici la touche de direction js pour changer l'effet de focus de la zone de saisie, mais elle n'est pas compatible avec Firefox. Une fois la saisie terminée, appuyez sur Entrée ou appuyez sur les touches fléchées pour déplacer le focus sur la zone de texte que vous souhaitez saisir sans cliquer sur la souris. Cette fonction peut améliorer la vitesse de saisie lorsque les données sont fréquemment saisies.
La capture d'écran de l'effet en cours d'exécution est la suivante :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/js-input-cha-focus-style-codes/
Le code spécifique est le suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JS方向键切换输入框焦点</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <table border="1" id="mm" onkeydown="keyDown(event)"> <tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> <tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> <tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> <tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> <tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> </table> <script language="javascript" type="text/javascript"> <!-- var inputs=document.getElementById("mm").getElementsByTagName("INPUT"); function keyDown(event) { var focus=document.activeElement; if(!document.getElementById("mm").contains(focus)) return; var event=window.event||event; var key=event.keyCode; for(var i=0; i<inputs.length; i++) { if(inputs[i]===focus) break; } switch(key) { case 37: if(i>0) inputs[i-1].focus(); break; case 38: if(i-4>=0) inputs[i-4].focus(); break; case 39: if(i<inputs.length-1) inputs[i+1].focus(); break; case 40: if(i+4 <inputs.length) inputs[i+4].focus(); break; } } //--> </script> </body> </html>
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.