2009-06-16 10 views
1

In JS, wie kann ich die Mauskoordinaten in einem DIV bekommen? Wenn ich event.pageX verwende, funktioniert es nur, wenn sich das DIV in der oberen linken Ecke der Seite befindet ... andernfalls muss ich die Position des DIV in der Seite kennen und subtrahiere event.pageX davon. Das ist schwierig, wenn ich die DIVs dynamisch erzeuge, da ich die Position jedes DIVs verfolgen muss. Irgendwelche Ideen?Wie bekomme ich in JS die Mauskoordinaten in einem DIV?


Es scheint wie event.layerX und event.layerY arbeitet in FF finden, wenn ich das DIV mit einer absoluten Position definieren. Hier ist ein kurzes Beispiel:

http://www.zangware.com/divpos.html

Aber in IE, event.layerX/Y innerhalb des DIV nicht definiert ist. Irgendwelche Ideen?

Antwort

3

Es klingt für mich, als ob Sie Ihre eigene Frage beantwortet haben. Mir sind keine Verknüpfungen bekannt, um die Cursorposition innerhalb eines div einfacher zu finden als die x- und y-Koordinaten der Maus von den x- und y-Koordinaten der oberen linken Ecke des div zu subtrahieren. Stellen Sie nur sicher, dass Sie den Speicherort des Divs im Cache zwischenspeichern, um eine DOM-Suche bei jeder Bewegung des Mauszeigers zu vermeiden.

+0

Ja, nun, ich fragte mich, ob es eine Verknüpfung :) – 1qazxsw2

1

Es ist nicht zu schwer. Jedes Element verfügt über die Eigenschaften offsetTop und offsetLeft. Sie können das mit der aktuellen Mausposition verwenden, um die relative Position herauszufinden.

Verwandte Themen