L'événement keypress JavaScript n'est pas déclenché sur le navigateur Android
J'ai créé un code simple à gérer keypress
événement:
var counter = 0;
$('input').on('keypress', function () {
$('div').text('key pressed ' + ++counter);
});
Mais keypress gestionnaire d'événement n'est pas déclenché sur un navigateur mobile (Android 4+, WindowsPhone 7.5+).
Quel pourrait être le problème?
source d'informationauteur alex.mironov
Vous devez vous connecter pour publier un commentaire.
Essayer
keyup
vous aidera àJe crois keypress est obsolète maintenant. Vous pouvez vérifier dans le Dom Niveau 3 Spec. À l'aide de keydown ou keyup devrait fonctionner. La spécification recommande également que vous devez utiliser beforeinput au lieu de keypress mais je ne suis pas sûr de ce que le support de ce qui est.
Oui, certains android navigateur ne supporte pas d'événement keypress, nous avons besoin de l'utilisation à des keydown ou keyup, mais différentes de celles, en évitant les différents codes de clés, utiliser la fonction suivante pour obtenir le mot de code en envoyant valeur char.
Par exemple:
Utilisation de jQuery événement d'entrée, comme ceci:
Avec cela, vous ne pouvez pas utiliser l'e.qui, pour déterminer quelle touche a été pressée, mais j'ai trouvé une belle solution de contournement: http://jsfiddle.net/zminic/8Lmay/
Je pense que c'est une mauvaise idée d'utiliser d'autres événements à la place de 'touche'.
Ce que vous devez faire est de simplement inclure un fichier jQuery dans votre projet.
Un fichier nommé jQuery.mobile.js ou tout à fait similaires (ex. jQuery.ui.js) de n'importe quelle version peut vous aider.
Vous pouvez le télécharger à partir de : https://jquerymobile.com/download/