2014-10-31 2 views
5

Der Autofokus wird in Safari (http://caniuse.com/#feat=autofocus) theoretisch vollständig nicht unterstützt. Wir sehen jedoch, dieses sehr seltsame Verhalten, wenn ein touchstart Ereignis an document gebunden ist (ob die Funktion Verhalten hat oder nicht), wenn ein Klicken irgendwo auf der Seite passiert die erste Eingabe mit autofocus konzentriert wird und die Bildschirmtastatur angezeigt wird .Bindung an ein Touchstart-Ereignis, das dazu führt, dass sich der Autofokus auf jeden Klick in Mobile Safari konzentriert

Dies kann mit iOS 8 im iOS-Simulator reproduziert werden. Hier ist die minimale HTML und JavaScript, das Problem zu reproduzieren:

<html> 
<head> 
<script> 
document.addEventListener("touchstart", function() {}); 
</script> 
</head> 

<body> 
<input type="text"> 
<input type="text" autofocus="autofocus"> 
</body> 
</html> 

Und hier ist ein jsfiddle: http://jsfiddle.net/qd858nob/

einfach auf eine beliebige Stelle außerhalb der Eingänge und der zweite Eingang wird autofokussiert sein. Idealerweise würde ich gerne eine globale Lösung finden, die dies löst, ohne den Autofokus von allen unseren Eingabeelementen entfernen zu müssen.

+1

Ich bin im Grunde das gleiche Problem, aber durch Aufruf von .focus() programmatisch beim Laden der Seite. Sobald irgendwo auf der Seite eine Berührung auftritt, wird der Fokus auf den Eingang gelegt und die Tastatur erscheint. Hast du das Apple gemeldet? Es ist neu in iOS 8. – Dan

Antwort

Verwandte Themen