Heim >Web-Frontend >js-Tutorial >jQuery Mobile: Dokument bereit oder Seitenereignisse: Was ist besser für den Umgang mit Seitenladevorgängen?

jQuery Mobile: Dokument bereit oder Seitenereignisse: Was ist besser für den Umgang mit Seitenladevorgängen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-28 13:08:14139Durchsuche

jQuery Mobile: Document Ready or Page Events: Which is Better for Handling Page Loads?

jQuery Mobile: Document Ready vs. Seitenereignisse

Den Unterschied verstehen

In jQuery Mobile gibt es zwei Hauptmethoden, um Code bei einer Seite auszuführen ist geladen:

  1. Dokument bereit ($(document).ready()): Dieses Ereignis wird ausgelöst, wenn das DOM geladen ist und alle Elemente verfügbar sind. In jQuery Mobile kann dieses Ereignis jedoch manchmal zu früh ausgeführt werden, bevor Seiten geladen und mit Ajax bearbeitet werden.
  2. Seitenereignisse ($('.selector').on('pageinit/pagebeforeshow' )): Diese Ereignisse sind speziell für jQuery Mobile konzipiert und werden ausgelöst, wenn eine Seite initialisiert wird oder bevor sie angezeigt wird. Sie stellen sicher, dass Code nur ausgeführt wird, wenn eine bestimmte Seite geladen wird.

Warum Seitenereignisse besser sind:

  • Sie stellen sicher, dass Code ausgeführt wird Nur wenn die beabsichtigte Seite geladen und sichtbar ist.
  • Sie bieten eine vorhersehbarere und konsistentere Möglichkeit, mit der Seite umzugehen Ereignisse.

Reihenfolge beim Übergang von Seitenereignissen

Beim Übergang von einer Seite zu einer anderen in jQuery Mobile wird eine Folge von Seitenereignissen in der folgenden Reihenfolge ausgelöst:

  1. Seite B: pagebeforecreate
  2. Seite B: pagecreate
  3. Seite B: pageinit
  4. Seite A: pagebeforehide
  5. Seite A: pageremove
  6. Seite A: pagehide
  7. Seite B: pagebeforeshow
  8. Seite B: Seitenshow

Datenmanipulation und Parameterübergabe

Daten von einer Seite an eine andere senden:

  • Verwenden Sie $.mobile.changePage() mit den Optionen data und dataUrl, um Parameter an die neue Seite zu übergeben Seite.
  • Rufen Sie auf der Zielseite die Parameter mit $(document).data() oder $(document).data("url") ab. um die Abfragezeichenfolge zu erhalten.

Zugriff auf Daten von einer vorherigen Seite:

  • Speichern Sie die Daten in einer globalen Variablen oder verwenden Sie das sessionStorage-Objekt.
  • Rufen Sie die Daten vom freigegebenen Speicherort auf der neuen Seite ab.

Verhindern mehrerer Ereignisse Bindung

Um beim Navigieren zwischen Seiten mehrere Ereignisbindungen für dasselbe Element zu verhindern:

  • Verwenden Sie Seitenereignisse anstelle von „Dokument bereit“.
  • Verwenden Sie Ereignisfilter (z. B. :Event(!click)), um sicherzustellen, dass Ereignisse nur einmal gebunden werden.
  • Verwenden Sie e.handled = true in Ereignishandlern, um erneutes Auslösen verhindern.

Das obige ist der detaillierte Inhalt vonjQuery Mobile: Dokument bereit oder Seitenereignisse: Was ist besser für den Umgang mit Seitenladevorgängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn