Il est nécessaire de saisir le mot de passe et d'appuyer sur Entrée pour déclencher l'événement en arrière-plan. Cela semble être une exigence très simple, mais elle se heurte à de nombreux problèmes.
Le contenu HTML comprend principalement une zone de texte de saisie de mot de passe et un bouton pour déclencher des événements en arrière-plan.
1. Une fois la zone de texte TextBox obtenue, appuyez simplement sur Entrée et la page s'actualisera.
Après une étude minutieuse du code, il s'avère que lorsqu'il n'y a qu'un seul contrôle de zone de texte sur la page, la page sera actualisée en appuyant sur Entrée.
Solution : ajoutez un contrôle TextBox masqué à la page.
Le principe spécifique est inconnu !
2. Utilisez Jquery pour implémenter la méthode :
$(document).ready(function(){ $("#tbPassword").focus(); $('#bPassword').keydown(function(e){ if(e.keyCode == 13){ $("#ctl00_ContentBody_btnAccept_linkButton")[0].click(); } }); });
3. Pour diverses raisons, la méthode d'implémentation Jquery ne peut pas être utilisée, nous devons donc utiliser JS à la place. Sa compatibilité est le problème le plus gênant.
document.getElementByIdx_x_x("tbPassword").onkeypress = function(event){ var keynum; if(window.event) // IE { keynum = window.event.keyCode; } else if(event.which) // Netscape/Firefox/Opera { keynum = event.which; } if (keynum == 13) document.getElementByIdx_x_x('ctl00_ContentBody_btnAccept_linkButton').click(); }
Description :
Lire les touches du clavier sous IE :
keynum = event.keyCode; // 字母d,keynum=100 keychar = String.fromCharCode(keynum); // 将keynum转换成字符d
Lire les touches du clavier dans FireFox :
keynum = event.which; // 字母d,keynum=100 keychar = String.fromCharCode(keynum); // 将keynum转换成字符d
Par exemple, dans IE, il n'y a que l'attribut keyCode, tandis que dans FireFox, il y a les attributs which et charCode, et dans Opera, il y a les attributs keyCode et which, etc.
Par conséquent, ce problème de compatibilité a été résolu dans Jquery.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.