Maison > interface Web > js tutoriel > Explication détaillée des compétences d'écriture de compatibilité JS onkeypress avec method_javascript

Explication détaillée des compétences d'écriture de compatibilité JS onkeypress avec method_javascript

WBOY
Libérer: 2016-05-16 15:03:27
original
1708 Les gens l'ont consulté

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();
    }    
  });
  });
Copier après la connexion

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();
  }

Copier après la connexion

Description :

Lire les touches du clavier sous IE :

keynum = event.keyCode; // 字母d,keynum=100
    keychar = String.fromCharCode(keynum); // 将keynum转换成字符d

Copier après la connexion

Lire les touches du clavier dans FireFox :

 keynum = event.which; // 字母d,keynum=100
    keychar = String.fromCharCode(keynum); // 将keynum转换成字符d
Copier après la connexion

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.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal