Ayer me funcionaban perfecto los atributos autofocus="true" o autofocus en un <input> pero hoy ya no me servían más, no aparece una advertencia por consola ni nada solamente no anda no realiza el foco al elemento, estoy pensando que google pudo actualizar algo (cagarla básicamente) porque en otros navegadores a excepción de firefox probé y anduvieron bien...
Para hacerlo simple:
[Contenido de carga] <= Acá hay una ruedita "spinner infinito" que indica que está cargando la pagina.
[Contenido de la pagina] <= Acá va a estar el contenido de la pagina.
¿La pagina está lista?
(Sí): El [Contenido de carga] se oculta y se muestra [Contenido de la pagina].
En el [Contenido de la pagina] esta el input con autofocus="true"
<div> // Elemento superior
<input type="text" autofocus="true">
</div>
Si el elemento superior tiene un display:none; y luego le digo que tenga display:block; con un ... timeout por ejemplo o en este caso cuando cargue la pagina, cuando este lista (window.ready)
el autofocus ya no lo toma y esto lo pueden probar si quieren,
<style type="text/css">
#elemento {
display: none;
}
</style>
<div id="elemento">
<input type="text" name="" autofocus="true">
</div>
<script type="text/javascript">
setTimeout(function() {
document.getElementById('elemento').style.display = 'flex';
}, 1000);
</script>