Je veux obtenir le texte tapé au clavier, pas le code clé. Par exemple, je appuie sur Maj + f, je reçois le "F", au lieu d'écouter deux codes clés. Un autre exemple, je clique sur F3, je n'ai rien entré. Comment puis-je savoir ça en js? Je vous remercie.Comment écouter le texte de type clavier en Javascript?
Répondre
J'utilise jQuery pour faire quelque chose comme ceci:
$('#searchbox input').on('keypress', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) {
//Enter keycode
//Do something
}
});
EDIT: Puisque vous n'êtes pas se lier à l'utilisation zone de texte:
$(window).on('keypress', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) {
//Enter keycode
//Do something
}
});
Vous pouvez écouter la onkeypress
événement. Toutefois, au lieu de simplement examiner la propriété event.keyCode
(IE) ou event.which
(Mozilla) qui vous donne le code de clé, vous devez traduire le code de clé en utilisant String.fromCharCode()
. Une bonne démo est à Javascript Char Codes (Key Codes). Vérifiez la source et recherchez la fonction displayKeyCode(evt)
. Références supplémentaires: w3schools - onkeypress Event et w3schools - JavaScript fromCharCode() method.
mais il ne sait pas quand l'utilisateur utilise une autre méthode de frappe, par exemple, chinois. – Tattat
Donc ... pour être clair: vous n'allez pas utiliser une zone de texte (ou une zone de texte), mais vous voulez être capable de traiter le caractère résultant que l'utilisateur a tapé sur votre page web, et cela peut être un caractère résultant d'un ** éditeur de méthode d'entrée (IME) ** .. difficile. –
@Tim Merci pour la suggestion; Je vais faire l'édition. –
Ceci est trop compliqué pour répondre rapidement. C'est ce que j'utilise comme référence définitive pour la gestion du clavier. http://unixpapa.com/js/key.html
Belle ressource - Je bookmarking it. Dans ce contexte particulier, cependant, une certaine mention de la façon dont les choses fonctionnent (ou ne fonctionnent pas) avec les éditeurs de méthode d'entrée (IME) serait utile. –
J'espère que je n'ai pas fait sonner comme si j'avais écrit cet article. –
Eh bien, l'article porte le nom de l'auteur (Jan Wolter), donc il est clair que dans cette perspective ce n'est pas votre article, mais dans votre réponse, il est dit * "Ceci est ** ma ** référence définitive ... "* .. qui peut être interprété de cette façon ;-) –
Pour ce faire, utilisez l'événement keypress
comme suit. Aucun autre événement clé pris en charge aujourd'hui largement fera:
document.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
if (charCode) {
alert("Character typed: " + String.fromCharCode(charCode));
}
};
Pour toutes les questions relatives à la clé JavaScript, je recommande l'excellent article de Jan Wolter: http://unixpapa.com/js/key.html
Cela fonctionnera-t-il lorsque l'utilisateur utilisera un éditeur de méthode d'entrée (IME)? –
@Chris: Je n'en ai aucune idée. Comment l'IME que vous avez en tête interagit-il avec un contrôle de formulaire sur une page Web? –
Je ne fais que mentionner une autre exigence que le PO a laissé tomber dans un commentaire (voir ma réponse). –
- 1. Comment écouter une variable changer en Javascript?
- 2. Comment écouter les événements de clavier dans la table GWT?
- 3. Comment écouter les appels de méthode d'éléments en Javascript
- 4. Clavier virtuel Javascript: comment identifier les champs de texte?
- 5. Comment écouter l'action du clavier iPhone/tactile (ex, 'GO', 'Recherche', etc)
- 6. Comment modifier le type de clavier pour un champ de texte dans Xcode
- 7. recherche de texte en javascript?
- 8. Javascript: Comment vérifier le type de chaîne?
- 9. Sauvegarder le type de réponse "Content-Type: text/javascript" dans le fichier texte
- 10. Lancement d'un événement clavier en JavaScript
- 11. comment cacher le clavier virtuel
- 12. Comment régler le texte de textview en utilisant javascript android
- 13. Modifier le type de curseur lorsque la souris survole un texte sélectionné en utilisant HTML/Javascript
- 14. Comment écouter le défilement dans un ListView?
- 15. Comment définir le texte dans le fichier (type d'entrée html)
- 16. Spécification du type de clavier virtuel pour EditText en XML
- 17. Comment puis-je appeler le clavier de l'iPhone en Titanium?
- 18. Javascript (JQuery) problème de piratage de clavier
- 19. désactiver le clavier après avoir entré le texte dans le champ de texte
- 20. Comment saisir des données au clavier en JavaScript?
- 21. Comment changer l'étiquette de la touche "Recherche" sur le clavier de l'iPhone en texte personnalisé?
- 22. Ajoute le texte Javascript
- 23. Remplacer le clavier BlackBerry avec un clavier logiciel
- 24. Le texte a changé en Javascript
- 25. Clavier SW de paysage sans champ de texte au-dessus?
- 26. Le clavier mange ma ligne supérieure de texte dans UITextView!
- 27. Forcer l'événement de clavier javascript dans une zone de texte sur IE
- 28. Comment lire le texte d'un site Web en utilisant Javascript?
- 29. En Visual Studio comment sélectionner le mot dans l'éditeur de texte à l'aide du clavier
- 30. Modifier le texte se cache derrière le clavier à l'écran
Êtes-vous dactylographie dans un zone de texte? –
no. L'utilisateur ne tapera pas sur une zone de texte. – Tattat
** Remarque: ** L'OP s'intéresse à un mécanisme qui fonctionnerait avec les éditeurs de méthode d'entrée (IME) (par exemple chinois). Peut-être devrait être une exigence mentionnée dans la question elle-même. –