Matti Mäkitalo: Automatisch das erste Eingabefeld aktivieren

Beitrag lesen

Hi,

Mit jQuery habe ich das ganze mal so geschrieben:

$(document).ready(function() {
   $('*[autofocus]').focus();
});


> >   
> > setzt den Fokus auf das (letzte) Element, welches das Attrbut "autofocus" besitzt.  
>   
> Nein, es setzt den focus der Reihe nach auf alle Elemente hintereinander und notwendigerweise bleibt dann das letzte fokussiert.  
  
Da hast du Recht, den (Neben-) Effekt habe ich unterschlagen, da man i.d.R. nur auf ein Element autofocus legt. Ist aber eine nicht mal theoretische Frage, da laut [HTML5-Draft](http://www.w3.org/TR/html5/association-of-controls-and-forms.html#autofocusing-a-form-control) es sowieso nur ein Element innerhalb eines Dokuments geben darf, welches ein autofocus Attribut hat.  
"There must not be more than one element in the document with the autofocus attribute specified."  
  
Wenn du es aber gerne "korrekt" hast:  
~~~javascript
  
$(document).ready(function() {  
  $('*[autofocus]:first').focus();  
});  

oder mit einem ähnlichen Selektor, welcher '*[autofocus]' eindeutig macht, auch wenn gegen HTML5-Regeln verstoßen wird.

Bis die Tage,
Matti