Je suis actuellement immergé dans le centre d'apprentissage jQuery. Je vais du début à la fin.
Je viens de lire ce paragraphe :
Il est également important de noter que l'objet événement contient une propriété appelée
originalEvent
, qui est l'objet événement que le navigateur lui-même a créé. jQuery encapsule cet objet événement natif avec quelques méthodes et propriétés utiles, mais dans certains cas, vous devrez accéder à l'événement d'origine viaevent.originalEvent
par exemple. Ceci est particulièrement utile pour les événements tactiles sur les appareils mobiles et les tablettes.
La dernière phrase, "Ceci est particulièrement utile pour les événements tactiles sur les appareils mobiles et les tablettes." , a vraiment suscité mon intérêt. mais c'est autant que le centre d'apprentissage entre dans originalEvent
jusqu'à présent.
Quelqu'un connaît-il de bonnes ressources pour une étude/pratique plus intensive pour event.originalEvent
spécifiquement par rapport aux événements tactiles/appareils mobiles?
event.originalEvent
n'est généralement que le natif event
(également décrit ici ).
Cependant, si le navigateur est compatible et que l'événement était un touch event
alors cette API sera exposée via event.originalEvent
.
La réponse courte est que event.originalEvent
n'est pas toujours le même, cela dépend du type d'événement qui a déclenché le gestionnaire et de l'environnement du navigateur.
J'ai un étui que je devais utiliser event.originalEvent
le problème essayait d'obtenir une instance d'un fichier déposé par glisser-déposer en utilisant l'événement drop, c'est ce qui s'est passé
var files = event.dataTransfer.files; // Gives error: trying to get property of undefined
en écrivant
var files = event.originalEvent.dataTransfer.files; // Works fine
Cela signifie que jQuery n'encapsule pas l'événement natif du navigateur avec toutes ses API comme l'API de fichier dans cet exemple, donc pour accéder à ces propriétés et fonctions exclues de l'événement jQuery, nous devons utiliser event.originalEvent
. J'espère que cela aide quelqu'un.
jQuery connaît les événements standard et les conforme pour différents navigateurs. mais quand il n'y a pas d'événement standard, jQuery ne parvient pas à conformer l'objet événement mais a une sécurité intégrée originalEvent
qui conserve l'objet servi d'origine par le navigateur.
par exemple mousewheel
et DOMMouseScroll
ont besoin event.originalEvent
aussi, car il n'y a pas de support pour l'événement de roue.