Hi,
Das Problem ist – wer hat’s schon erraten – der IE, der onfocus (und scheinbar auch onbeforefocus) _nach_ der Darstellung feuert, wo der Browser schon sein Unheil angerichtet hat. Problem …
Ganz klar ist mir die Sache nicht.
Wieso scrollt der Browser das DIV nach oben, wenn man per Tab einen nicht sichtbaren Link darin annavigieren will?
Oder versteh ich da was falsch?
Mir fällt zu dem Thema nur noch die Methode scrollIntoView ein. Vielleicht hilfts, wenn man diese an das focus Event eines jeden Links macht (onfocus="this.scrollIntoView(false)")
Wobei es dann schon wieder schwierig zu entscheiden, ob man nach oben (Shift) oder nach unten (nur Tab) navigiert, und entsprechend true oder false übergeben müsste.
Außerdem scrollt diese Methode auch parent Elemente, was nicht wirklich beeinflussbar ist, wie er da scrollt.
· Tab und Shift-Tab direkt per onkeypress abfangen, händisch per js das nächste zu fokussierende Element herausfinden, dieses Fokussieren und den Event stoppen. Diesen Aufwand würde ich gerne vermeiden.
wenn, dann schon bitte onkeydown. Ginge aber.
Hab sonst auch keine Ideen, u.A. weil ich das Problem nicht ganz erfasst habe.
Gruß!