Imaginez un formulaire où il y a une case à cocher et un champ de texte. Si quelqu'un commence à taper dans le champ de texte "bla bla bla quel que soit", la case à cocher doit cocher elle-même. Y at-il un événement qui correspond à la dactylographie ou dois-je utiliser .focus?Quel événement appartient à "taper du texte dans le champ de texte" en utilisant jQuery
Répondre
événements qui sont déclenchés sur le typage sont:
onkeydown
(jQuery:keydown
)onkeyup
(jQuery:keyup
)onkeypress
(jQuery:keypress
)
Vous pouvez créer un gestionnaire d'événements pour modifier ou influencer les entrées des utilisateurs. Sachez également que les fonctions .preventDefault()
et .stopPropagation()
empêchent le comportement par défaut d'un élément ou suppriment l'événement qui fait bouillonner le DOM.
Références: keyup, keydown, keypress, preventDefault(), stopPropagation()
Oui, gestionnaire d'événements keyup()
. Voir http://api.jquery.com/keyup/
Si vous utilisez jQueryUI, la fonction de saisie semi-automatique a un événement source qui est déclenché lors de la frappe, ctrl + v coller et ainsi de suite. Il a également l'énorme avantage de spécifier une longueur minimum et un délai de frappe. JQueryUI .autocomplete() est assez polyvalent et n'est pas seulement réservé aux tâches ajax complexes.
$("input#vin").autocomplete({
delay: 500,
minLength: 17,
source: function() {
// Do your stuff here, keep in mind that you can't use $(this) inside this closure, as it is closed in of the autocomplete function.
decodeVinAjax(autofillVehicleDetails, $('input#vin').val());
}
});
Genius! Je vous remercie! – LobsterMan