画面遷移イベントの流れ

画面遷移イベントの流れ

画面を読み込んだ後なら
日付を表示するコンポーネント
入力値のチェックをするコンポーネントを動的に押し込む

画面を表示した後なら
ポップアップアニメーション開始、
位置情報取得開始

画面を非表示にする前や、画面遷移する前なら
アニメーション停止、
位置情報取得の終了など

流れとしては、画面遷移スタートで
pagebeforechangeイベント

DOMがロードされ
pagebeforecreate発生して
pagecreate

ウィジェット初期化してから
pageinit

そして
pageload

次に、pagebeforechange
ここまで元画面

pagebeforehideて元画面をかくして
pagebeforeshowで次画面表示

pageremoveで元画面のDOM削除

pagehideでかくして
pageshowで表示

pagechangeで画面切り替え

となる

画面遷移字に発生するイベントは大きく分けて3つ

すべての画面遷移で呼び出されるグローバルイベント
pagebeforechange
pagebeforeload
pageload
pagebeforechange
pagechange

遷移元の画面で発生するイベント
pagebeforehide
pageremove
pagehide

遷移先の画面で発生するイベント
pagebeforecreate
pagecreate
pageinit
pagebeforeshow
pageshow

となる

イベントが発生するフェーズに分けると

次のHTML画面の読み込みフェーズ
pagebeforeload
pagebeforecreate
pagecreate
pageinit
pageload

画面の遷移フェーズ
pagebeforechange
pagebeforehide
pagebeforeshow
pageremove
pagehide
pageshow
pagechange

の2つのフェーズになる

また
条件により実行されるイベントがある

次画面の読み込みフェーズは
画面かDOMにキャッシュされているとき実行されない

jQueryMobileによるWebアプリやサイトのトップページは必ずキャッシュされるため

pagebeforeload
pagebeforecreate
pagecreate
pageinit
pageload

は最初の1回のみ実行される

DOMにキャッシュする画面では
画面遷移時に
pageremove
は発生しない

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です