0

jquery mobile 1.1.0を使用すると、多くのデバイスで異なる画面の高さを設定して、空のスペースを埋めることができます。content_height= screen_height --header_height --footer_height

実際の高さを計算するためにすべてがロードされるまで実際に待機する唯一のイベントは

$(window).load

私の問題:ajaxナビゲーションシステムを使用しているため、window.loadは1回だけ起動し、多くのロードステージングイベントをテストしました:

$(document).bind('pagechange', func..)
$(document).bind('pageload', func..)

等々..

私の質問:ページが読み込まれるたびに発生し、サイズが読み込まれるのに十分な遅延が発生するjqueryモバイルイベントはありますか?または、コンテンツがロードされたときにメソッドをトリガーするその他の方法。

4

1 に答える 1

0

フィドル: http: //jsfiddle.net/ca11111/CAtWG/

ページが完全にロードされたときに何かをしたい場合:
あなたのhtmlで:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).bind("mobileinit", function(){
    //$.mobile.loadingMessageTextVisible = true;
    // set global config of jquery mobile here
});
</script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript"  src='test.js'></script>

次に、test.jsファイルを入力します。

$("#Mypage1").live("pagecreate", function() {
     //do stuff when Mypage1 is created 
     // happens once if you don't explicitly refresh
      alert("Mypage1 created");
     $("#mydiv").height($("body").height() - 50);
});

$("#Mypage1").live("pageshow", function() {
     //do stuff when Mypage1 is shown
     // happens multiple times, as soon as you go to Mypage1 from other pages
     alert("Mypage1 visible");
});

おそらく方向変更イベントも探しているので、次を追加します。

$(window).bind('orientationchange', _orientationHandler);

if(event.orientation){
    if(event.orientation == 'portrait'){
              //do something
    }
    else if(event.orientation == 'landscape') {
                //do something
    }
}

自分でajaxリクエストをトリガーし、htmlを変更したい場合は、コールバックで実行してください。

$("#Mypage1").trigger("pagecreate");
于 2012-06-24T07:34:01.083 に答える