Schon klar, aber valide ist im IE halt nicht unbedingt richtig, der XML Prolog versetzt ihn in den Quirksmodus, der auch für JS einige Grundlegenden Veränderungen hervorruft.
Hab ich auch grad gemerkt... Hab dann das ganze nach HTML 4.0 umgeschrieben und dann noch was rum experimentiert.
Also unabhängig von Strict oder Quirks funktioniert die Ermittlung des Abstandes vom Rand eines Elementes (Grafik in dem Fall) nicht wie erwartet.
Mal angenommen ein Fieldset mit padding = margin = 2px und einem Rahmen von 1 px umgibt das Element. Der IE liefert nach der Addition aller offsets 4 anstelle von 5. Man muss also die Rahmen gesondert auslesen und addieren. Ausgehend davon sollte nach einem klick auf die Grafik bei event.offsetX = 14 reell auf event.x = 19 geklickt worden sein (notwendig für die Markierung der Stelle mit einem absolut positionierten div). Event.x liefert jedoch unabhängig von Quirks oder Strict 21 (was ja wiederrum nicht 14 + 5 entspricht). Nimmt man diesen Wert bekommt man eine um 2 Pixel nach unten/rechts verschobene Position.
Wenigstens weiss ich jetzt, wo die 2 Pixel herkommen. Links und Oben gibt es beim IE einen Fensterrand-Schattenwurf-irgendwas-Effekt, welcher genau 2 Pixel breit und nicht nutzbar ist. Blöderweiße wird der jedoch nicht abgezogen.
Das hat jetzt zwar gedauert, aber nun kann ich die Funktion, welche den Abstand ermittelt entsprechend anpassen. Es funktioniert im IE aber auch nur dann, wenn das Fieldset mit einer Rahmenbreite versehen wurde. Bin gespannt auf Version 7 des ganzen...
MfG