2010-01-08 3 views
1

J'utilise javascript pour que le clavier entre en majuscule.Affectation Google KeyCode

Par exemple, si je tape un minuscule « a », le window.event.keycode est 97.

Est-ce que quelqu'un sait si les travaux suivants dans Chrome. Fonctionne correctement dans IE

window.event.keycode = 97 - 32;

doit être une majuscule « A »

Répondre

4

Minuscules ont les mêmes codes clés en caractères majuscules. Vous devrez utiliser keydown en conjonction avec keyup pour dire si l'utilisateur a appuyé sur shift pour produire la lettre. J'ai récemment écrit un script en utilisant jquery:

var shiftDown = false; 
var outString; 
$(document).ready(function() { 
    $(document).keydown(function(event) { 
     if (event.keyCode == 16) 
     shiftDown = true; 
    }); 
$(document).keyup(function(event){ 
    if (event.keyCode != 16) 
    { 
     if (shiftDown) 
     { 
      outString += (String.fromCharCode(event.keyCode)).toUpperCase(); 
     } 
     else 
     { 
      outString += String.fromCharCode(event.keyCode); 
     } 
    } 
    shiftDown = false; 
}); 

Quelque chose intéressante est que quelques fois keycodes sont différentes en fonction de l'événement. Voici une page de testeur que j'ai trouvé très utile: http://asquare.net/javascript/tests/KeyCode.html