Rilevamento del completamento automatico dell'interfaccia utente jQuery
Domanda
Come posso rilevare se una casella di input è attualmente un completamento automatico dell'interfaccia utente jQuery? Non sembra esserci un metodo nativo per questo, ma spero che ci sia qualcosa di semplice come questo:
if ($("#q").autocomplete)
{
//Do something
}
Quel condizionale, tuttavia, sembra sempre tornare vero.
Soluzione
if ($("#q").hasClass("ac_input")) {
// do something
}
Aggiorna
Il nome della classe nel widget di completamento automatico dell'interfaccia utente di JQuery ora è 'ui-autocomplete-input', quindi il codice sarebbe:
if ($("#q").hasClass("ui-autocomplete-input")) {
// do something
}
Altri suggerimenti
Puoi anche trovare il comportamento di completamento automatico allegato a un elemento di input seguendo la seguente riga di codice:
if ($('Selector').data('autocomplete')) {
}
Puoi usare
if( $.isFunction( $.fn.autocomplete ) ){ }
.isFunction fa parte della lib jQuery. (citare: http://james.padolsey.com/jquery/. ... isfunction )
Se il plug-in dell'interfaccia utente jquery di completamento automatico è già incluso per la pagina e si desidera solo verificare se un particolare elemento (input) è stato impostato con la funzione di completamento automatico, è possibile utilizzare il metodo API ufficiale come mostrato di seguito:
if ($("#q").autocomplete("instance")) {
console.log("autocomplete already setup for #q");
} else {
console.log("NO autocomplete for #q");
}
Ulteriori dettagli sono disponibili all'indirizzo http://api.jqueryui.com/autocomplete/ # metodo istanza
È vero perché dopo aver incluso js di completamento automatico, ogni oggetto $ () ora ha un metodo di completamento automatico () (nel caso in cui si desideri attivare il completamento automatico per quegli elementi). Il tuo if () sta solo dicendo che quella funzione non è nulla.
Sfortunatamente non ho un sistema in cui posso verificarlo (oggi ho lasciato il laptop a casa), ma credo che il completamento automatico aggiunga un nome di classe css agli elementi che sta usando. Potresti cercarlo.