Unterschied Maus- und Pointerevents (JavaScript)?
Was ist der Unterschied zwischen Maus- und Pointerevents genau, abgesehen das Pointerevents noch zusätzliche Eigenschaften haben die es bei Mausevents nicht gibt. Ich habe gelesen das Pointerevents sowohl auf Maus, als auch auf Touch, als auch auf Eingabestifte reagieren während Mausevents nur auf die Maus reagieren. Aber in dem Buch in dem ich HTML, CSS und JavaScript gelernt habe hieß es im Abschnitt über Touchevents das alle Maus Events auch auf Touch und Stift reagieren und bei meinem Surface-Tablet tun sie das auch. Gibt es also noch einen Unterschied und wenn ja welchen? Und welche nutzt ihr lieber oder würdet ihr eher empfehlen? Pro Mausevents ist ja, was mir einfiele, das Pointerevents laut caniuse.com in "nur" ca. 93% der Browser funktionieren (besonders Safari unterstützt es erst seit kurzem) während Maus Events in über 96% der Browser funktionieren (ist jetzt nicht so dramatisch) Pro Pointer das es mehr Eigenschaften gibt, mehr Events und wer weiß was ich jetzt hier noch erfahre.
1 Stimme
2 Antworten
Pointer event hat weitere Funktionen. Damit kannst du z.B. den Druck oder den Winkel(es gibt stifte die den winkel zum bildschirm messen) messen. Und auch erkennen welche art von Eingebegerät ist.
Aber klar, die Treiber für Eingebestifte sind ja heutzutage so entwickelt dass es auch mit Programmen die nur für mauseingabe gedacht sind funktioniert.
MouseEvent ist im Prinzip veraltet. Mäuse machen nur einen kleinen Teil des Marktes aus.
https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent
This interface inherits properties from
MouseEvent
and
Event
.
Note: It's important to note that in many cases, both pointer and mouse events get sent (in order to let non-pointer-specific code still interact with the user). If you use pointer events, you should callevent.preventDefault()
to keep the mouse event from being sent as well.
Wenn es die Funktionen in MouseEvent und PointerEvent gibt, funktionieren beide identisch bei Mäusen. Bei anderen Eingabemethoden kann man das natürlich nicht garantieren, weil sich manche ja völlig anders verhalten als Mäuse.
also für meine VR dinge brauch ich eher den pointer event, da dieser auch eine ID hat, welcher pointer gerade was macht . den im gegensatz zu einer mause, hab ich dort schon zwei hände :)
Ja okay, aber würden Mausevents in deiner VR denn auch zuverlässig funktionieren wenn du die zusätzlichen Eigenschaften nicht brauchst? Also bspw. wenn einfach nur ein Element "angeklickt"(wie auch immer das da funktioniert) werden muss?
Okay, das meinte ich ja auch u.a. mit "weiteren Eigenschaften". Aber das heißt, sonst funktionieren Mausevents bei allen diesen Eingabegeräten wie Pointerevents auch?