Autofokus jest teoretycznie całkowicie nieobsługiwany w mobilnym Safari (http://caniuse.com/#feat=autofocus). Widzimy jednak to bardzo dziwne zachowanie, gdy zdarzenie document
jest powiązane z document
(niezależnie od tego, czy dana funkcja ma jakiekolwiek działanie), gdy kliknięcie ma miejsce w dowolnym miejscu na stronie, pierwsze wejście z wartością autofocus
zostaje skupione, a klawiatura ekranowa wyświetla .Wiązanie ze zdarzeniem dotykowym powodującym, że autofokus skupia się na dowolnym kliknięciu w Mobile Safari
Można to odtworzyć za pomocą iOS 8 w symulatorze iOS. Oto minimalne HTML i JavaScript, aby odtworzyć problem:
<html>
<head>
<script>
document.addEventListener("touchstart", function() {});
</script>
</head>
<body>
<input type="text">
<input type="text" autofocus="autofocus">
</body>
</html>
A oto jsfiddle: http://jsfiddle.net/qd858nob/
Wystarczy kliknąć w dowolnym miejscu poza wejść, a drugie wejście będzie autofocused. Idealnie chciałbym znaleźć globalne rozwiązanie, które rozwiązuje to bez konieczności usuwania autofokusa z wszystkich naszych elementów wejściowych.
Podaję zasadniczo ten sam problem, ale wywołuję programowo przy użyciu funkcji .focus() przy ładowaniu strony. Gdy tylko naciśniesz w dowolnym miejscu na stronie, fokus przechodzi do wejścia, a klawiatura wyskakuje. Czy zgłosiłeś to Apple? To nowość w systemie iOS 8. – Dan