Immer relative Maus X/Y in javascript

Ich habe ein div irgendwo auf der Seite. Ich bekomme dann die Maus XY:

        var relativeMouseX = self.gCurrentMouseX - self.gContainerLeft;
        var relativeMouseY = self.gCurrentMouseY - self.gContainerTop;

Wo die aktuelle mousex/y sind erhältlich über:

//Update mouse coords
this.gUpdateMousePos = function(evt) {
    if (evt === undefined) evt = window.event;
    if (window.event) {
        this.gCurrentMouseX = event.clientX;
        this.gCurrentMouseY = event.clientY;
    }
    else {
        this.gCurrentMouseX = evt.clientX;
        this.gCurrentMouseY = evt.clientY;
    }
}

Dies funktionierte gut im Test, aber wenn das div befindet sich eine Seite, die es vermasselt themouse X/Y, die Koordinaten scheinen nur zu werden, in der viewinwg Bereich und nicht die gesamte Seite.

X-co-ord funktioniert gut, weil die Seiten nie horizontal erweitert, breiter als das browser-Größe, aber vertikal ist ein problem!!!

Irgendwelche Ideen, wie man die Maus X/Y relativ zu dem element?

wahrscheinlich werden Sie nur brauchen zu wissen, der position des Elements und Mathematik diese Unterschiede.

InformationsquelleAutor Tom Gullen | 2010-12-21

Schreibe einen Kommentar