Archivlink: javarea.de Forum > JavaScript > Mausposition richtig herausfinden.
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Mausposition richtig herausfinden.
Pages: [1]
| geschrieben von MaxPayne am 14.09.2005 - 14:18 |
Hallo, ich habe eine Kontextmenü, dass beim Rollover über einen markierten Text mit der Maus mitfährt. Bei einer Netscape-Implementierung des Event-Modells kann ich die des Kontext-Menüs direkt mit den Koordinaten der Maus vom Event-Objekt füllen: mit pageX und pageY. Die Werte werden auch dann korrekt berechnet, wenn der Benutzer auf der Seite runterscrollt und dann über ein kontextfähiges Element fährt. Bei der IE-Implementierung über window.event und den Eigenschaften clientX und clientY wird nach dem Scrollen die Kontextbox falsch positioniert und zwar nach oben um genau den Wert, um den man nach unten gescrollt hat bevor man das Kontextmenü erzeugt hat.
Ich nehme an, dass das daran liegt, dass pageX/Y bei der Netscape-Implementierung (die u.a. auf Firefox verwendet) korrekt in Relation zum oberen Ende des Dokuments berechnet wird und clientX/Y bei der Microsoft-Variante relativ zum Screen.
Wie kann ich das korrigieren? |
| geschrieben von okley am 14.09.2005 - 14:37 |
Netscape: pageX/Y
IE: body.scrollTop/Left |
| geschrieben von MaxPayne am 19.09.2005 - 11:10 |
| Richtig, genau das meinte ich. Habe jetz ind er IE-Implementierung einfach document.body.scrollTop/Left zu window.event.clientY/X hinzuaddiert. Funktioniert einwandfrei, sogar im Opera. |
|