Hallo,
Trotzdem hätte ich gerne gewusst, warum Firefox und Mozilla den Focus nicht auf das Input-Feld setzen - einfach, um es zu verstehen.
So, wie ich das sehe, wird das schon versucht, es scheitert aber.
Oder meintest du, dass Firefox focus-Anweisungen innerhalb einer Funktion ignoriert, die mit onBlur aufgerufen wird?
Sozusagen um logische Unzulänglichkeiten auszugleichen?
Nein, wohl nicht explizit so programmiert, aber als (un)angenehmer ;-)) Nebeneffekt des internen Programmablaufs im Gecko-Browser. Offensichtlich wird die Abarbeitung einer JavaScript .focus()-Methode im Eventhandler onblur nicht _richtig_ unterstützt. Mit folgendem lässt sich das nachweisen:
<form name="Test" action="#">
1. Name: <input type="text" name="t1" onblur="this.form.t3.focus();"><br>
2. Name: <input type="text" name="t2" onblur="this.form.t3.focus();"><br>
Nur hier hin mit dem Focus:<br>
3. Name: <input type="text" name="t3" onblur="this.form.t3.focus();"><br>
</form>
Durch mehrfaches Klicken(Tastaturnavigation erzeugt den Fehler nicht) in die verschiedenen Textfelder, kann man runtime Exceptions erzeugen:
Fehler: [Exception... "'Die Erlaubnis für das Lesen der Eigenschaft XULElement.selectedIndex wurde verweigert' when calling method: [nsIAutoCompletePopup::selectedIndex]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame :: <unknown filename> :: onblur :: line 0" data: no]
Offensichtlich beißen sich hier onblur="element.focus()" und das Öffnen der Auswahlliste bereits getätigter Eintragungen im mit der _Maus_ angeklickten (focusierten) Formularfeld.
viele Grüße
Axel