![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| ||||
| ||||
|
|
ich ermittle mittels offsetX und offsetY die Position eines Steuerelements. Klappt bei den "normalen" Seiten sehr gut. |
|
Nun habe ich eine sehr komplexe Seite mit mehreren Span und Div Bereichen, in welche die Steuerelemente untergebracht sind. Hier geben die beiden Parameter generell 1 zurück. Egal wo auf der Seite sich das Steuerelement befindet. |
|
Kennt jemand das Problem und gibt es alternative Möglichkeiten, wie ich die Position des Steuerelements herausfinden kann? Also mir würde auch reichen, wenn ich die Position des Cursors ermitteln kann. |
|
Die des Mauszeigers habe ich schon versucht, nur ist der zu dem Zeitpunkt ja irgendwo auf der Seite. |
#3
| |||
| |||
|
|
ich ermittle mittels offsetX und offsetY die Position eines Steuerelements. Klappt bei den "normalen" Seiten sehr gut. Nun habe ich eine sehr komplexe Seite mit mehreren Span und Div Bereichen, in welche die Steuerelemente untergebracht sind. Hier geben die beiden Parameter generell 1 zurück. Egal wo auf der Seite sich das Steuerelement befindet. |
|
Kennt jemand das Problem und gibt es alternative Möglichkeiten, wie ich die Position des Steuerelements herausfinden kann? Also mir würde auch reichen, wenn ich die Position des Cursors ermitteln kann. Die des Mauszeigers habe ich schon versucht, nur ist der zu dem Zeitpunkt ja irgendwo auf der Seite. |
#4
| |||
| |||
|
|
Thomas Weiler wrote: ich ermittle mittels offsetX und offsetY die Position eines Steuerelements. Klappt bei den "normalen" Seiten sehr gut. Es klappt dann, wenn einen MSHTML-basierten UA wie den IE und ausschliesslich ein Zeigegerät benutzt. Die offsetX- und offsetY-Eigenschaften eines Event-Objekts liefern dort nämlich nicht die Position des Steuerelements, sondern die Koordinaten des Zeigers relativ zur linken oberen Ecke der Box des Elements beim Auslösen des Ereignisses. Nun habe ich eine sehr komplexe Seite mit mehreren Span und Div Bereichen, in welche die Steuerelemente untergebracht sind. Hier geben die beiden Parameter generell 1 zurück. Egal wo auf der Seite sich das Steuerelement befindet. Du suchst hingegen die offsetLeft- und offsetTop-Eigenschaften des Elementobjekts. Zu diesen musst Du jeweils solange rekursiv die offsetLeft- und offsetTop-Eigenschaften des mit der Eigenschaft offsetParent referenzierten Objekts addieren, bis offsetParent kein Objekt mehr referenziert (i.d.R. hat es dann den Wert `null'). Das klappt dann auch in !MSHTML, z.B. Gecko-basierten UAs wie Firefox. Kennt jemand das Problem und gibt es alternative Möglichkeiten, wie ich die Position des Steuerelements herausfinden kann? Also mir würde auch reichen, wenn ich die Position des Cursors ermitteln kann. Nichts anderes tust Du bereits. In Gecko-basierten UAs benötigst Du dafür die Eigenschaften clientX und clientY des per Argument übergebenen Event-Objekts, wobei diese die Position des Zeigers relativ zum Viewport liefern. Die des Mauszeigers habe ich schon versucht, nur ist der zu dem Zeitpunkt ja irgendwo auf der Seite. Eben. PointedEars |
![]() |
| Thread Tools | |
| Display Modes | |
| |