jQuery Mobile : Document Ready vs Page Events
Comprendre la différence
Dans jQuery Mobile, il existe deux manières principales d'exécuter du code lorsqu'une page est chargé :
-
Document prêt ($(document).ready()) : Cet événement est déclenché lorsque le DOM est chargé et que tous les éléments sont disponibles. Cependant, dans jQuery Mobile, cet événement peut parfois s'exécuter trop tôt, avant que les pages ne soient chargées et manipulées à l'aide d'Ajax.
-
Événements de page ($('.selector').on('pageinit/pagebeforeshow' )) : Ces événements sont spécifiquement conçus pour jQuery Mobile et sont déclenchés lorsqu'une page est initialisée ou avant son affichage. Ils garantissent que le code est exécuté uniquement lorsqu'une page particulière est chargée.
Pourquoi les événements de page sont meilleurs :
- Ils garantissent que le code est exécuté uniquement lorsque la page prévue est chargée et visible.
- Ils offrent un moyen plus prévisible et cohérent de gérer la page événements.
Ordre de transition des événements de page
Lors de la transition d'une page à une autre dans jQuery Mobile, une séquence d'événements de page est déclenchée dans l'ordre suivant :
- Page B : pagebeforecreate
- Page B : pagecreate
- Page B : pageinit
- Page A : pagebeforehide
- Page A : pageremove
- Page A : pagehide
- Page B : pagebeforeshow
- Page B : pageshow
Manipulation des données et paramètres Passage
Envoi de données d'une page à une autre :
- Utilisez $.mobile.changePage() avec les options data et dataUrl pour transmettre les paramètres à la nouvelle page .
- Dans la page de destination, récupérez les paramètres en utilisant $(document).data() ou $(document).data("url") pour obtenir la requête string.
Accès aux données d'une page précédente :
- Stockez les données dans une variable globale ou utilisez l'objet sessionStorage.
- Récupérez les données de l'emplacement partagé sur la nouvelle page.
Prévention de plusieurs événements Liaison
Pour empêcher la liaison de plusieurs événements sur le même élément lors de la navigation entre les pages :
- Utilisez les événements de page au lieu de la préparation du document.
- Utilisez des filtres d'événements (par exemple, :Event(!click)) pour garantir que les événements ne sont liés qu'une seule fois.
- Utilisez e.handled = true dans les gestionnaires d'événements pour éviter redéclenchement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn