Il y a un texte d'entrée qui déclenche une fonction sur l'événement "onkeyup". Lorsque cette fonction se déclenche, je lie un événement "keyup" avec la méthode .on ("keyup") pour obtenir la dernière touche pressée pour savoir si elle était alphanumérique afin de déclencher la recherche ajax que je veux. Et après avoir fini, je délie la connexion avec la méthode .off ("keyup").JavaScript .on ("keyup")
Mais il y a un problème avec l'unbindation. Le problème est; Mon code s'exécute une fois et ne tourne pas pendant un tour, puis s'exécute à nouveau et ne fonctionne pas pour l'autre tour et continue comme ça. J'ai remplacé le code que je veux simplifier pour tester.
$("#arama").on("keyup",function(event) {
console.log("asd");
$("#arama").off("keyup");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="arama" />
Où suis-je trompé?
P.S: Je l'ai résolu grâce à Chris.
Très bizarre, votre code exécute le journal pour une fois, même si je l'ai plusieurs fois écrit http://i.hizliresim.com/JazolQ.png –
C'est parce qu'il est Dissocier l'événement 'keyup' après avoir tiré une fois. Vous pouvez définir une condition sur la commande '.off (" keyup ")' pour contrôler quand elle arrête l'exécution de la fonction parente. –
Il me semble que vous m'avez mal compris. Voir ces 2 photos http://i.hizliresim.com/nRN8da.png http://i.hizliresim.com/GB48Av.png Sur la première image j'ai écrit 3 caractères et il n'a pas enregistré le 3ème caractère, Sur la deuxième image, j'ai écrit 4 caractères et comme il se connecte tous les deux caractères char Il est connecté les 3ème et 4ème caractères en même temps. Et je regarde si c'est alphanumérique pas simplement numérique C'est pour être sûr que ce n'est pas ctrl, alt ou smth –