jQuery: keine chance zu erkennen, von welcher Seite die Maus trat in ein div ohne "Offset" - Methode?

Gibt es eine Möglichkeit zu erkennen, von welcher Seite ein div mit der Maus-cursor kommt?

Derzeit bin ich mit dieser Methode:

jQuery(this).bind('mousemove',function(e){
    offset_pos_x = parseInt(e.offsetX);
    offset_pos_y = parseInt(e.offsetY);
    ...

Dann Suche ich mir die Entfernungen, die Maus ging im div, in welche Richtung.

Das Problem ist, diese Methode ist ein wenig buggy, denn ich brauche alle 4 Seiten, nicht nur zwei, so dass ich zu überprüfen, offsetX UND offsetY.

Wenn ich mich bewege die Maus innerhalb des div zum Beispiel X:+15,Y:-3 (in Pixel) weiß ich, dass die Maus kam von Links, da die Maus bewegt 15px auf der x-Achse, aber nur -3px auf der y-Achse. Der buggy Sache über dieses ist, wenn X und Y fast die gleiche und ich weiß nicht, ob die Maus kam von Links oder top (zum Beispiel).

Auch nach meine andere Frage (jQuery: mouseenter/mousemove/mouseover nicht erkannt mit kleinen div und schnelle Mausbewegungen) die Events nicht gefeuert, auf den ersten Pixel des div ' s Seite, da der browser/os-Einschränkungen. Weil, mein "entered_at" - Koordinate ist nicht korrekt - Beispiel:

Wenn ich meine Maus sehr schnell innerhalb des div (von Links), die "entered_at" coord ist bei x:17,y:76 zum Beispiel. Nun, wenn ich meine Maus nach Links nach stoppen der Maus, zum Beispiel x:6,y:76 die Differenz zwischen dem Startpunkt und offsetX negativ ist, also die "cursor kam von rechts" - Funktion ausgelöst wird...

Gibt es einen anderen Weg, um zu erkennen, von welcher Seite die Maus kommt?

Grüße,
Patrick

InformationsquelleAutor Patrick | 2013-02-22
Schreibe einen Kommentar