In Safari, iOS8, la messa a fuoco di una data o di un orario apre il selettore di data o ora e consente di modificare il contenuto dell'ingresso di sola lettura.In iOS8 Safari, gli ingressi di sola lettura sono gestiti in modo errato
Quando si effettua la messa a fuoco in un input di testo, una barra degli strumenti viene visualizzata in basso con i pulsanti precedente, successivo e Fine, e non va via fino a toccare Fine, o viene toccato un altro input sulla pagina.
Quando l'ingresso è focalizzata programatically da JavaScript, nulla sta accadendo, ma: se un listener di eventi TouchStart viene aggiunto ad una parte della pagina, toccando dovunque si apre la data, l'ora picker, o la barra degli strumenti, anche se l'ascoltatore è vuoto.
codice di esempio:
<input id="test1" readonly />
<input id="test2" type="date" readonly />
<input id="test3" type="time" readonly />
<script>
document.getElementById('test1').focus();
window.addEventListener('touchstart', function() {});
</script>
esempio dal vivo: http://jsfiddle.net/cw3hump4/embedded/result/
Tutte le idee o soluzioni alternative su come evitare questo?
UPDATE:
Per motivi/accessibilità usabilità ho bisogno concentrarsi gestione: toccando l'ingresso si apre una finestra di dialogo, quando la finestra è chiusa, ho messo il back focus sull'ingresso. L'input deve essere di sola lettura, per evitare che la tastiera/selettore di data/selezione orari si aprano, ma non può essere disabilitato, quindi posso impostare un valore e concentrarmi su di esso.
Ci sono 2 problemi con quel: (1) uccide pagina di scorrimento se tocco iniziato dall'ingresso (2) non risolve il problema se l'ingresso si concentrerà da Javascript (vedi http://jsfiddle.net/cw3hump4/1 /, tocca lo schermo ovunque e il datepicker si apre) – dioslaska
ha modificato la risposta. – rintaro
Grazie, ma nel mio scenario ho bisogno di gestione del focus. Aggiornata la domanda. Immagino di dover vivere senza messa a fuoco fino a quando il bug non viene risolto ... – dioslaska