0

ここにindex.htmlがあります

        <script>
        $(document).on('pagebeforeshow','id="container"',  function(){       
            $.mobile.activePage.find('id="content-container"').load("content.html", function(){ 
                $(this).parent().trigger('pagecreate');
            }); 

        }); 

    </script>

content.html ページは、ロード時にサーバーからデータを取得する必要があります。

上記のコードが実行されたときに content.html ページで発生するイベントはどれですか?


すでに次のイベントを試しましたが、どれも機能していません

  1. ショー前のページ
  2. ページショー
  3. デバイスレディ
  4. ページ作成
  5. pageinit
  6. ページロード
4

1 に答える 1

1

それらはロード機能にリンクされていないため、いずれもトリガーされません。loadPage と呼ばれるその関数の jQuery Mobile バージョンを使用する必要があります。関数ロード用のラッパー関数です。

これは公式リンクです: http://api.jquerymobile.com/jQuery.mobile.loadPage/

この場合、ページ イベントの順序は次のようになります。

  1. pagebeforeload
  2. 作成前のページ
  3. ページ作成
  4. pageinit
  5. ページロード

pageload および pagebefpreload イベントを正しく検出するには、次のように使用します。

$(document).on('pagebeforeload', function(){    
    console && console.log("pagebeforeload!!");
});                 

$(document).on('pageload', function(){    
    console && console.log("pageload!!");
});

詳しくはこちらをご覧ください。実際の例もご覧いただけます。

于 2013-10-31T09:27:03.673 に答える