Répondre

3

En supposant que vous voulez intercepter ces clés sur l'ensemble du document:

document.onkeypress = function(evt) { 
    evt = evt || window.event; 
    var charCode = (typeof evt.which == "undefined") ? evt.keyCode : evt.which; 
    if (charCode) { 
     var charStr = String.fromCharCode(charCode); 
     if (charStr == ":") { 
      alert("Colon!"); 
     } else if (charStr == ".") { 
      alert("Full stop!"); 
     } 
    } 
}; 

Marcel Korpel souligne à juste titre dans les commentaires qu'il est plus efficace de ne pas utiliser l'appel String.fromCharCode(); voici une version sans:

document.onkeypress = function(evt) { 
    evt = evt || window.event; 
    var charCode = (typeof evt.which == "undefined") ? evt.keyCode : evt.which; 
    if (charCode) { 
     if (charCode == 58) { 
      alert("Colon!"); 
     } else if (charCode == 46) { 
      alert("Full stop!"); 
     } 
    } 
}; 
+0

Je suis d'accord, en utilisant uniquement 'String.fromCharCode' semble un peu exagéré pour moi: si je ne me trompe pas, vous pouvez simplement tester' charCode' étant soit 46 ('.') ou 58 (':'). –

+0

Marcel: oui, je suis d'accord, et je le ferais probablement dans le code de production mais je pensais que c'était plus clair ce que le code faisait avec 'String.fromCharCode'. Je vais ajouter une autre version à ma réponse. –

Questions connexes