Zum Inhalt springen

ie7 focus() nach ajax update


etreu

Empfohlene Beiträge

Ich habe aktuell ein kurioses Problem. Ich will nach einem Ajax-Update eines Seitenbereichs einem Textfeld den Fokus geben.

Ich habe es via document.getElementById('meineId').focus() probiert und zusätzlich über jQuery('#meineId').focus().

Nur IE7 scheint dies zu ignorieren (IE6 und 8 sind hier netter). Wenn ich mir nach dem Request document.activeElement.id ausgeben lassen, so bekomme ich mein body-Element.

Wenn ich vor dem Aufruf von focus() mir etwas mit alert() ausgeben lasse, dann wird der Fokus allerdings gesetzt.

Hat jemand von euch schon mal etwas ähnliches erlebt?

Ich würde gern ein Beispiel posten, aber dafür müsste ich erst eines konstruieren (da die Anwendung auf JSF/Facelets aufsetzt). Ich hoffe meine verbale Beschreibung führt zum Erfolg, sonst erstelle ich noch ein Beispiel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Problem ist es das du versuchst einen Focus zu setzen obwohl das Feld noch nicht existiert. Was du daran erkennen kannst weil es ja funktioniert wenn du ein Alert davor setzt.

Kannst du zbsp mit einem timeout umgehn. aber das is auch nicht 100% sicher das es dann immer und ueberall geht. Kommt halt auch auf die Rechnerleistung an :C

Aber wie du das nun ordentlich umgehn kannst faellt mir leider grade keine saubere loesung zu ein :/

Ted

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nach der Beschreibung unter activeElement Property (document, HTMLDocument Constructor) hatte ich auch schon festgestellt, dass ich als aktives Element das body-Element erhalte. Deswegen kam ich auf die Idee auch mal setActive() zu benutzen. Et voilà, es funktioniert:


oncomplete="x = document.getElementById('<IdDesElementsDasDenFokusErhaltenSoll>'); try{x.setActive();} catch(e) {}; x.focus();"

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...