Event.which et event.keycode ne fonctionnent pas sur Internet Explorer 10 pour le bouton arrière

Je dois suivre les alphabet keys l' alphabet keys et la backspace key avec JavaScript . J'utilise le code écrit ci-dessous pour suivre toutes les pressions, mais malheureusement, lorsque je presse le backspace button dans IE je n'ai aucune idée du problème.

  $('#crossword').delegate('.grid_input_holder','keypress',function(event){ alert('keycode : '+event.keycode+' which : '+$(this).val( String.fromCharCode(event.which)); }); 

Merci d'avance

Si vous souhaitez prendre en charge IE et que vous utilisez des clés spéciales (comme delete et backspace ), je suggère d'utiliser keyup / keyup place.

Clés spéciales

Explorer ne déclenche pas l' événement de touche pour supprimer, fin, entrer, échapper, touches de fonction, accueil, insertion, pageUp / Bas et onglet.

Si vous avez besoin de détecter ces clés, faites-vous une faveur et recherchez leur keyCode onkeydown / up , et ignorez les deux onkeypress et charCode.

Vous pouvez en savoir plus sur les problèmes de navigation croisée de Détection des frappes de touches (Quirksmode) .

OU

Key Code pour Backspace prendra la valeur = 83 si nous avons déjà quelques caractères dans une zone de texte.

Le code de la clé sera = 8 s'il n'y a PAS de caractères dans la zone de texte et nous essayons de rétrécir en arrière.

Si vous souhaitez prendre en charge IE et que vous utilisez des clés spéciales (comme delete et backspace ), je suggère d'utiliser keydown/keyup place.

Le problème survient lorsque vous utilisez IE10. Parce que dans les versions IE <9 donnent

 event.which == undefined || event.which == zero 

Lorsque la touche de manipulation spéciale est pressée comme Backspace, DEL, INS, HOME, touches de navigation, Entrée, etc. Nous pourrions facilement identifier quand un caractère de manipulation spécial est pressé et peut être manipulé séparément.

Mais dans IE10 . Event.which ne donne pas indéfini ou zéro pour les clés de manipulation spéciales à la place, il donne le code-clé … Une chose surprenante est: il donne le même code clé pour Dot (.) Et Delete, Single quote (') et la flèche droite, etc.

Par conséquent, nous ne pouvions pas identifier exactement dans IE10 lorsque la touche de manipulation spéciale est pressée en n'utilisant ni événement. Ni code d'événement .

Dans ces situations … Utiliser

 event.charCode == 0 

Pour identifier les caractères de gestion spéciaux dans IE10

Croyez-moi des amis, cela m'a sauvé plus d'une semaine d'efforts.