2014-10-31 15 views
5

Otomatik odaklama, teoride, tamamen mobil Safari'de desteklenmez (http://caniuse.com/#feat=autofocus). Bununla birlikte, touchstart etkinliğinin document'a (fonksiyonun herhangi bir davranışı olup olmamasına) bağlı olduğu bu çok garip davranış, sayfanın herhangi bir yerinde bir tıklama olduğunda autofocus ile ilk giriş odaklanır ve ekran klavyesi görüntülenir .Otomatik odaklanmanın herhangi bir tıklama üzerine odaklanmasına neden olan bir dokunma hareketine bağlanma Mobil Safari

Bu iOS simülatöründe iOS 8 kullanılarak yeniden üretilebilir. İşte sorunu yeniden minimal html ve javascript:

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

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

Ve burada bir jsfiddle var: http://jsfiddle.net/qd858nob/

Basitçe girişlerin dışında herhangi bir yere tıklayın ve ikinci giriş autofocused hale gelecektir. İdeal olarak, tüm giriş öğelerinden otomatik odaklamayı kaldırmak zorunda kalmadan bunu çözen global bir çözüm bulmayı çok isterim.

+1

Temel olarak aynı soruna işaret ediyorum, ancak .focus() öğesini sayfa yüklerken program aracılığıyla çağırarak. Sayfada herhangi bir yere dokunulduğunda, odak girdiye gider ve klavye açılır. Bunu Apple’a bildirdin mi? IOS 8’de yeni. – Dan

cevap

İlgili konular