7
votes

Quel est le code-clés pour "$"?

J'essaie de désactiver tous les autres personnages d'être entrés dans la saisie de texte.

Depuis pour obtenir le $ Vous devez appuyer sur le Shift -key et le 4 -key. Je ne suis pas sûr de savoir comment vous obtiendrez le code-clés pour quelque chose comme ça?


1 commentaires

5 Réponses :


5
votes

Les codes de clé ne concernent que les clés. $ est un caractère, obtenu à travers deux clés, décalage et 4. Il n'y a pas de code de clé explicitement pour $ lorsque vous utilisez oiledown < / em>

Edit: il a été signalé par Edward que OnKeyPress utilise des combinaisons de touches et a des coches pour les combinaisons. Apprenez quelque chose de nouveau tous les jours :)

Voici un code , édité à partir du ONKEYDOOD Exemple fourni par le MDN , pour détecter les coches de porte-clé.

Voici le violon mis à jour pour être Firefox-convivial, à l'aide de l'aide de qui donc POST . La solution JQuery fonctionne aussi, si vous balancez ainsi.


6 commentaires

Le violon de votre édition donne ce résultat dans Firefox12: 'KeyCode pour la touche appuyée sur la touche: 0' (sur n'importe quelle touche I appuyez sur ..)


@Gitaarlab comment étrange. Fonctionne dans IE et Chrome. Je ne peux pas imaginer Firefox ne supporterait pas onKeyPress , bien que l'échangez-le pour OnKeydown fonctionne dans Firefox.


Découvrez ce s.o. Fil pour info sur OnKeyPress dans Firefox Doute sa seule fois aussi


Je perds la foi en Firefox à (en dehors des risques de sécurité, il commence à poser) .. mais sur le sujet: oui, peu importe la clé I appuyer, ne répond pas également au changement d'alt ou de Ctrl.


@Gitaarlab a ajouté un autre violon pour être Firefox-convivial


Confirmer, fonctionne !! Joli. Alway est amusant ici. Vous avez répondu à la question qui a été posée dans le titre, alors que j'ai fourni un point de vue différent sur la manière d'obtenir le même résultat final que décrit dans le texte de la question. J'aime ma réponse à mais je vais voter pour votre réponse à, car les utilisateurs trouvent surtout des réponses liées au titre de la question! Bon travail!



2
votes

Ensuite, n'utilisez pas de cette façon pour résoudre votre problème: puisque vous ne pouvez pas prédire que chaque mise en page du clavier aura toujours $ saisi en tant que Maj + 4.
Vous pouvez toujours obtenir le code clé 4 et vérifier si vous avez été enfoncé, mais vous ne pouvez pas en être sûr !!

Ainsi Il serait préférable de remplacer simplement tous les caractères illégaux de vos champs (avant de soumettre les données). Pense: str.replace ()
Vous pouvez également vérifier votre ensemble de caractères illégaux sur l'événement ONKEUP de la case INPUTUP, remplaçant efficacement tous les caractères illégaux que vous tapez!
Comme: onKeyup = "this.value.replace (/ [vos caractères illégaux] / gi, '')"
Cela devrait faire ce que vous voulez.

Remarque: vous ne devez jamais faire confiance à une entrée de navigateur et doit toujours filtrer cette entrée dans votre script de réception !!!

bonne chance !!


0 commentaires

6
votes

Il n'y a pas de code-clés onekeydown , comme indiqué précédemment par ngmiceli

Bien que, OnKeyPress KeyCode existe et est égal à 36 .

Page de test de code d'événement JavaScript


0 commentaires

1
votes

Il n'y a pas de code de clé pour $ , puisque ce n'est pas une clé valide - elle doit être accessible via une sorte de chant de vitesse.

Habituellement, vous effectueriez un chèque pour voir si le shifter était actif et l'écoute de l'événement keypress sur la clé correspondante. Quelque chose comme ça pour une mise en page QWERTY dans votre instance: xxx


0 commentaires

1
votes

OnKeyPress - Le code de caractère Unicode est: 36

Onkeydown - Le code de clé Unicode est le suivant: 52


0 commentaires