Ho un campo codice postale che ha un evento jQuery onKeyup - l'idea è che una volta inserito completamente il loro codice postale per chiamare un'API Geocoding di Google Maps per ottenere posizione immediatamente basata su questo codice postale.Tweaking sull'evento keyup per chiamare l'API una volta che l'utente ha finito di digitare
Questo codice funziona però mi piacerebbe trovare una soluzione che non sarà idealmente chiamare l'API più volte, ma aspettare e vedere se l'utente ha finito di digitare utilizzando un metodo di aspettare x quantità di tempo e quindi chiamando l'API .
Qualcuno può suggerire il modo migliore per farlo?
$("#txtPostcode").keyup(function() {
var postcode = $('#txtPostcode').val().length
if (postcode.length >= 5 && postcode.length <= 8) {
console.log('length is a valid UK length for a postcode');
// some logic here to run with some way to work out if user has 'finished' typing
callGoogleGeocodingAPI(postcode);
}
});
Possibile duplicato di [Funzione antirimbalzo in jQuery] (http://stackoverflow.com/questions/27787768/debounce-function-in-jquery) – Piskvor