offsetParent im IE anders als im FF
Matty
- javascript
Ich habe hier ein InputFeld, das wiederum in drei verschachtelten Tabellen ist.
Jetzt möchte ich die genaue Position des Inputfeldes bestimmen, dazu habe ich mir gedacht, ich gehe einfach alle offsetParents "nach oben" durch bis ich keines mehr finde...
der FF liefert mir als LEFT 123
der IE 246
das liegt daran, dass der erste offsetParent.offsetLeft im IE 123 liefert und im FF 41 ... jemand ne Idee wieso das sein könnte?
Das ganze Markup kann ich schlecht posten, da die Liste sehr groß ist und dynamisch im DOM erstellt wird.
Danke für Hinweise :)
Huhu Matty!
ich habe mal festgestellt, dass der IE in Elementen gerne noch nicht vorhandene Textknoten findet und mitzählt. Vielleicht hängt es ja damit zusammen.
Hast du mal versucht, dir per alert aus einem kleinen Schnipsel code die einzelnen Teile die er zählt ausgeben zu lassen? Vielleicht siehst du da schon, woran es liegen könnte :)
Liebe Grüße,
Amá
Hi, danke für die schnell Antwort,
habe schon alle durchgänge meiner Schleife die offsetParent durchsucht gedebuggt ... aber aber noch nicht gefunden an was es liegt. Weiß aber, dass der IE und der FF beide durch sechs Element iterieren und dann schluss ist... nur dass der IE eben beim ersten Element ein falsches offsetLeft liefert :/
Danke für weitere Hinweise!
Huh0u Matty!
ich habe mal festgestellt, dass der IE in Elementen gerne noch nicht vorhandene Textknoten findet und mitzählt. Vielleicht hängt es ja damit zusammen.
Hast du mal versucht, dir per alert aus einem kleinen Schnipsel code die einzelnen Teile die er zählt ausgeben zu lassen? Vielleicht siehst du da schon, woran es liegen könnte :)
Liebe Grüße,
Amá
hi,
Ich habe hier ein InputFeld, das wiederum in drei verschachtelten Tabellen ist.
Wie kommt es zu solch einer Sauerei?
Jetzt möchte ich die genaue Position des Inputfeldes bestimmen,
Zu welchem Zweck?
dazu habe ich mir gedacht, ich gehe einfach alle offsetParents "nach oben" durch bis ich keines mehr finde...
der FF liefert mir als LEFT 123
der IE 246
Der IE handelt das ganze m.W. nur unter der Voraussetzung korrekt, dass für alle Elemente in der Kette "hasLayout" vorliegt.
Dass er bei Tabellenelementen darüber hinaus noch weitere Probleme hat/macht, ist nicht auszuschliessen.
gruß,
wahsaga
hi,
Ich habe hier ein InputFeld, das wiederum in drei verschachtelten Tabellen ist.
Wie kommt es zu solch einer Sauerei?
Hmm.. das ist ein Tree... den man per Drag'n'Drop umsortieren kann etc. (also mit divs, inputs etc drin)
Jetzt möchte ich die genaue Position des Inputfeldes bestimmen,
Zu welchem Zweck?
Wär schon schön wenn die Ajax-Auto-Completer-Suggest-List direkt unter dem Input angezeigt werden würde, in dem man seine suggests auch einträgt... ;)
dazu habe ich mir gedacht, ich gehe einfach alle offsetParents "nach oben" durch bis ich keines mehr finde...
der FF liefert mir als LEFT 123
der IE 246Der IE handelt das ganze m.W. nur unter der Voraussetzung korrekt, dass für alle Elemente in der Kette "hasLayout" vorliegt.
Dass er bei Tabellenelementen darüber hinaus noch weitere Probleme hat/macht, ist nicht auszuschliessen.
Hachja... der tolle IE =(
Noch weitere Ideen ?!
Danke!
gruß,
wahsaga
hi,
Wär schon schön wenn die Ajax-Auto-Completer-Suggest-List direkt unter dem Input angezeigt werden würde, in dem man seine suggests auch einträgt... ;)
Dann hänge sie doch in Nähe des Inputs ins Dokument ein, dann brauchst du nicht bis auf den Himalaya hinauf offsetParents zu durchlaufen.
gruß,
wahsaga
hi,
Wär schon schön wenn die Ajax-Auto-Completer-Suggest-List direkt unter dem Input angezeigt werden würde, in dem man seine suggests auch einträgt... ;)
Dann hänge sie doch in Nähe des Inputs ins Dokument ein, dann brauchst du nicht bis auf den Himalaya hinauf offsetParents zu durchlaufen.
gruß,
wahsaga
okay danke für den Tip, das hab ich jetzt gemacht... allerdings habe ich jetzt das Problem das mein Autocompleter (UL) im IE hinter einem bestimmten anderen UL angezeigt wird ( im FF gehts natürlich) ... hab dem Autocompleter-UL jetzt schonmal z-index 600 verpasst und dem andern UL 10 ... bringt aber gar nix :(
Jemand ne Idee hierzu? Vielleicht brauch ich ja gar keine extra Thread deswegen aufmachen...
Danke! :)