Wie kann ich die Mauskoordinaten relativ zu einem Elterndiv bekommen? Javascript

8

Ich habe derzeit ein div, das mit anderen Elementen darin strukturiert ist.

Ähnliches wie unten;

%Vor%

Ich versuche, die Mausposition relativ zum div mit der ID container zu bekommen.

Bisher habe ich das;

%Vor%

Das funktioniert gut, wenn das div mit der ID container keine Kinder hat. Wenn das container div-Element untergeordnete Elemente enthält, werden die Mauskoordinaten relativ zum untergeordneten Element und nicht zum übergeordneten Element abgerufen.

Was ich damit meine ist, dass wenn die Maus sich an einer Position von x: 51, y: 51 relativ zum Eltern-Div befindet, würde sie x: 1, y: 1 relativ zum Child-Div zurückgeben, unter Verwendung des obigen HTML.

Wie kann ich erreichen, was ich will, keine Bibliotheken bitte.

BEARBEITEN

tymeJV hat freundlicherweise von dem, was oben passiert, berichtet.

Ссылка

    
GriffLab 22.04.2013, 19:11
quelle

4 Antworten

2

Im Wesentlichen: 'Mausposition' - 'Elternelementposition' = 'Mausposition relativ zum Elternelement'

Also hier habe ich deine Funktion geändert:

%Vor%

Hier ist eine funktionierende Demo-Geige . Wie Sie im Code nachlesen können, wird auch die Bildlaufposition des Dokuments angezeigt.

PPKs Artikel über ' Ereigniseigenschaften ' und ' Position finden " sind (wie immer) eine gute Lektüre!

Hoffe, das hilft!

Aktualisierung:
Ich habe tatsächlich einen Fehler im ppk-Code gefunden (wie selten ist das ?!): Ich korrigierte den fehlerhaften var in:
if (!e) var e = window.event; zu if (!e){e = window.event;}

    
GitaarLAB 22.04.2013, 20:24
quelle
19

Die angenommene Antwort funktionierte bei mir nicht in Chrome. Hier ist, wie ich es gelöst habe:

%Vor%     
Nikita Volkov 26.10.2015 14:01
quelle
0

Holen Sie sich die Eigenschaften screenX und screenY, um zu sehen, wo sich die Maus auf dem Bildschirm befindet (und möglicherweise scrollHeight berücksichtigen!).

Dann holen Sie sich das linke und obere Ende des Containerelements und berechnen Sie den Abstand zwischen ihnen: das ist die Position der Maus im Element.

Weitere Informationen finden Sie Ссылка .

    
Willem Mulder 22.04.2013 20:01
quelle
0

Html

%Vor%

Javascript

%Vor%     
Le Fem 22.09.2014 12:48
quelle

Tags und Links