2012-03-20 30 views
0

私はjQueryMobileとPhoneGapでモバイルアプリを開発しています。多くの場合、jQMの性質やデータの読み込みのため、ページには最後の調整が必要になります。たとえば、フォームフィールドには動的に取得されたデータを入力する必要があります。また、リスト項目の内容に合わせて多少異なるスタイルを指定する必要があります。jQuery Mobile:最後の調整にpageBeforeShowまたはpageBeforeChangeを使用する必要がありますか?

現在、これらの調整はすべて、pageBeforeShowイベントハンドラを使用して行っています。しかし、私はpageBeforeChangeイベントハンドラを使用してはいけないのではないかと思います。 jQMドキュメントは、これらの2つのイベントが互いにどのように関係しているか、つまりどちらが最初に起動されるかを実際にはっきりさせません。

jQMのマークアップのすべてが(例えば作るリスト項目はかなり見て)適用された後、私は知っています私が知っている

  • pageBeforeShowとpageshowのがトリガされます。
  • pageBeforeShowとpageShowは特定のページにバインドされますが、pageChangeはページの変更が発生するたびに呼び出されます(ユーザーがそこに到着する前に特定のページを変更する場合は、event.toPageプロパティをテストする必要があります)

私は を求めていると私は、ページ(前)の変更は、より良い候補であるかどうかを知りたい、なぜこれが背景である理由。

jQueryモバイルページの遷移は、多くのデバイスで扱いにくいです。 Androidデバイスの大きな問題は、ページの変更が不安定であることです。移行タイプ(フェード、ポップなど)に関係なく、ユーザーが放置しているページは、新しいページがほぼ完成した後に一時的に表示されますブラウザ。 私の経験では、これは主に、他のアニメーションが実行されているときや、ページ遷移中に開始されたときに発生します。基本的に、Androidブラウザは、実際には表示されていない要素にトランジションを適用したくないように見えます。その結果、jQMページ間を行き来します。 私はすでにマークアップと用紙の調整を約1000ms遅らせるという回避策を開発しました。これは点滅を防ぎますが、ページが表示された後に画面上でこれらの調整が行われるのをユーザーが見ている可能性があります。

この分析では、pageBeforeChangeがマークアップとフォーム調整を付加するためのより良い候補になると考えられます。しかし、それはコードの大きな書き換えになります、そして、私はどのような予期せぬものが私が入ってくるのか分かりません。誰でもこれらのイベントに関する経験はありますか?

答えて

0

pagebeforechangeがこれを行うのに最適な場所であるかどうかわかりません。私はページレベルのイベントとしてpagebeforechangeを見ることはできませんが、サイトレベルのイベントはそれ以上です。主にナビゲーションを引き継いだり、動的なページを作成したい場合に使用します。

私はpageinitを使用して、イベントハンドラをページに添付します。私はpagebeforeshowを使用して、ページが表示される前に内容や外観を変更したいときに使用します。

これが役に立ちます。

+0

ありがとうKiliman。それは、私がpagebeforeshowを落としてpagechangeに切り替える理由が必要であることを確認します。私は誰かがpagebeforechangeを試みてトラブルに遭遇したのかどうか聞いてみたい。または明確なセーリングを持っていた:) – Wytze

関連する問題