jQuery: événement keyup pour appareil mobile
Je vais avoir quelques problèmes à obtenir un événement keyup à feu sur mon iPhone, mon code est comme suit:
var passwordArray = ["word", "test", "hello", "another", "here"];
var test = document.getElementById('enter-password');
test.addEventListener('keyup', function(e) {
if (jQuery.inArray(this.value, passwordArray) != -1) {
alert("THIS IS WORKING");
} else {}
});
L'idée étant que l'utilisateur tape dans le #enter-password
champ comme et quand ils ont égalé un mot dans le passwordArray
l'alerte incendie. Cela fonctionne sur le bureau, par exemple, une fois que vous avez entré word
la fonction feu tout de suite dès que vous avez tapé le d
. Est-il de toute façon à obtenir que cela fonctionne pour mobile?
OriginalL'auteur user1374796 | 2016-08-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter un événement d'entrée. C'est un événement qui déclenche à chaque fois que l'entrée change. D'entrée fonctionne à la fois sur les ordinateurs de bureau ainsi que les téléphones mobiles
Vous pouvez vérifier cette réponse pour plus de détails sur jQuery Entrée de l'Événement
OriginalL'auteur Joyson
Il y a trois événements que vous pouvez utiliser, mais vous devez être prudent sur la manière de "combiner"):
keyup : il fonctionne sur les appareils avec un clavier, c'est déclenché lorsque vous relâchez une touche (n'importe quelle touche, même les clés qui n'apparaissent pas sur l'écran, comme ALT ou CTRL);
touchend: il fonctionne sur les appareils à écran tactile, il est déclenché lorsque vous retirez votre doigt/stylet de l'écran,
entrée: il est déclenché lorsque vous appuyez sur une touche "et une entrée" (si vous appuyez sur les touches ALT ou CTRL cet événement n'est pas déclenché).
La entrée cas de travaux sur les claviers et avec les appareils à écran tactile, il est important de le souligner parce que, dans la accepté de répondre l'exemple est correct mais approximative:
Sur clavier périphériques, cette fonction est appelée deux fois parce que les deux événements keyup et entrée sera déclenché.
La bonne réponse devrait être:
(la fonction est appelée sur keyup pour les ordinateurs de bureau/ordinateurs portables OU sur touchend pour les mobiles)
ou vous pouvez tout simplement utiliser
mais n'oubliez pas que le entrée événement ne sera pas déclenché par toutes les touches (CTRL, ALT & co. ne se déclenche pas l'événement).
OriginalL'auteur Frank
La touchend événement est déclenché lorsqu'un point de contact est supprimé de l'appareil.
https://developer.mozilla.org/en-US/docs/Web/Events/touchend
Vous pouvez passer keyup et touchend les événements dans le .sur la (les) méthode jQuery (au lieu de la keyup () (méthode) pour déclencher votre code sur ces deux événements.
OriginalL'auteur
Vous devez ajouter un événement d'entrée. Il fonctionne à la fois sur mobile et des périphériques de l'ordinateur.
OriginalL'auteur