Come parte dei miei moduli di login e di registrazione, se ci sono errori, sarà messa a fuoco automatica del campo correlato. In realtà, non è così semplice come pensavo. Lasciami provare a spiegare!Campo di testo della messa a fuoco automatica su cellulare, ma senza tastiera?
Fondamentalmente, su questo progetto, le pagine sono caricate con AJAX. I moduli possono includere un attributo autofocus
. Funziona alla grande, ma sul cellulare mostra semplicemente il cursore senza far apparire la tastiera, il che significa che devi ancora toccare l'input per iniziare a digitare.
Mi manca qualcosa, o devo raddoppiare-up la focalizzazione con qualcosa di simile
document.querySelector("[autofocus]").focus();
// with appropriate verification that the element exists, of coursr
Non credo che questo è vero al 100%, ho un sito con un menu a discesa che contiene un ingresso, e quando si apre la discesa si chiama '.focus()' sull'ingresso. Quando apro il menu a discesa di Safari sul mio iPad 2, viene visualizzata automaticamente la tastiera, prima di fare clic sull'input. – Andy
Non è chiaro, ma il collegamento quora suggerisce che il problema è che tutti gli eventi automatici (come onload, ready, ecc) non riescono a visualizzare la tastiera su focus() - tutto ciò che viene attivato da un evento utente, come onclick ecc. , se poi chiamano focus(), mostra la tastiera. –