it-swarm.com.de

event.originalEvent jQuery

Ich bin derzeit im jQuery-Lerncenter beschäftigt. Ich gehe von Anfang bis Ende.

Ich habe gerade gelesen dieser Absatz :

Es ist auch wichtig zu beachten, dass das Ereignisobjekt eine Eigenschaft namens originalEvent enthält, bei der es sich um das Ereignisobjekt handelt, das der Browser selbst erstellt hat. jQuery umschließt dieses native Ereignisobjekt mit einigen nützlichen Methoden und Eigenschaften, aber in einigen Fällen müssen Sie beispielsweise über event.originalEvent auf das ursprüngliche Ereignis zugreifen. Dies ist besonders nützlich für Berührungsereignisse auf Mobilgeräten und Tablets.

Der letzte Satz "Dies ist besonders nützlich für Berührungsereignisse auf Mobilgeräten und Tablets." hat mein Interesse geweckt. aber das ist so viel, wie das Lernzentrum bisher in originalEvent geht.

Kennt jemand gute Ressourcen für ein intensiveres Studium/Üben von event.originalEvent Speziell in Bezug auf Berührungsereignisse/mobile Geräte?

41
BryanK

event.originalEvent Ist normalerweise nur das native event (auch beschrieben hier ).

Wenn der Browser jedoch kompatibel ist und das Ereignis ein touch event war, wird diese API über event.originalEvent Verfügbar gemacht.

Die kurze Antwort ist, dass event.originalEvent Nicht immer gleich ist, sondern davon abhängt, welcher Ereignistyp den Handler ausgelöst hat und von der Umgebung des Browsers.

40
Travis J

Ich habe einen Fall, den ich verwenden musste event.originalEvent Das Problem bestand darin, mithilfe des Drop-Ereignisses eine Instanz einer abgelegten Datei per Drag & Drop abzurufen. Dies ist der Fall

var files = event.dataTransfer.files; // Gives error: trying to get property of undefined

beim schreiben

var files = event.originalEvent.dataTransfer.files; // Works fine

Dies bedeutet, dass jQuery das native Browser-Ereignis nicht mit all seinen APIs umschließt, wie in diesem Beispiel mit der Datei-API. Um Zugriff auf die ausgeschlossenen Eigenschaften und Funktionen des jQuery-Ereignisses zu erhalten, müssen wir event.originalEvent. Hoffe das hilft jemandem.

12

jQuery kennt Standardereignisse und passt sie für verschiedene Browser an. Wenn jedoch kein Standardereignis vorhanden ist, passt jQuery das Ereignisobjekt nicht an, verfügt jedoch über ein fehlersicheres originalEvent, das das ursprünglich vom Browser bereitgestellte Objekt beibehält.

zum Beispiel mousewheel und DOMMouseScroll brauchen event.originalEvent auch, da es keine Unterstützung für Radereignisse gibt.

3