Ho un campo di testo in cui gli utenti possono digitare i dati. Possono usare il tasto tab e quindi il campo diventa rientrato. Funziona benissimo su tutto tranne ios con una tastiera bluetooth.Javascript - Rilevamento chiave scheda iPad con tastiera Bluetooth
Se visito lo http://www.rapidtables.com/tools/notepad.htm, posso accedere al mio desktop/laptop. Ma sul mio iPad ... niente da fare.
Se si visita https://api.jquery.com/keydown/, https://api.jquery.com/keyup/, https://api.jquery.com/keypress/ ... NESSUNO di essi rileva il tasto di tabulazione su iPad.
Il tasto di tabulazione funziona in applicazioni native di ios, come Notes, e il tasto tab naviga tra i campi all'interno di una pagina web. C'è un modo per rilevare la chiave di tabulazione in Javascript che qualcuno conosce?
EDIT
Ecco un violino ho buttato insieme in modo da poter vedere il codice e problema in azione: https://jsfiddle.net/9jv0bmbx/1/ Fondamentalmente sto solo controllando che e.keyCode===9
che funziona secondo il desktop/laptop. Su iPad, registra OGNI chiave eccetto il tasto di tabulazione.
Quindi, se si esegue la pressione del tasto quando si preme la scheda sui dispositivi in conflitto, non registra nulla? In caso contrario, potrebbe essere che la scheda stia uscendo dal campo senza effettivamente attivare una pressione di tasto sul campo. Prova a creare un logger di keypress globale e vedi se riesci a registrare una scheda. Il seguente dovrebbe farlo. $ (documento) .keydown (function (e) { \t \t \t console.log (e.keyCode);}); – RayfenWindspear
L'ho aggiunto al violino. Ancora niente. Ma il tasto tab nel primo campo sposta ancora lo stato attivo sul secondo campo. Quindi la chiave di tabulazione è registrata dall'applicazione (browser) per gestire gli eventi di messa a fuoco, ma non come evento di tastiera che indovino.Ho provato sia Chrome che Safari, lo stesso risultato. –
Ho messo le mani su uno ... il mio suggerimento non ha funzionato. Scusate. – RayfenWindspear