2011-06-23 19 views
11

ページが読み込まれるたびに何かしたい。これは、モバイルサイトがさまざまなデバイス上で見える方法を修正するもので、AJAXの負荷でも発生する必要があります。jQuery Mobile - ページの読み込み時に何かをする

現時点では、従来の$(function(){ /*...*/ });アプローチを試しましたが、これは最初のロードでのみ機能し、その後のAJAXロードでは機能しません。

私はバインドする正しいイベントを探していましたが、かなり難しいです。

答えて

26

あなたは、各「ページ」にバインドするjQueryのを使用します(DIVがdata-role=page属性を設定しています)とpageshowイベントを使用することができます(いくつかの他にもありますpagebeforeshowpagehidepagebeforehide)。

$(document).delegate('.ui-page', 'pageshow', function() { 
    //Your code for each page load here 
}); 

http://api.jquerymobile.com/pageshow/

注:この答えは、jQueryのモバイル1.0.1のために書かれた、より多くの情報については、上記のドキュメントのリンクを参照してください。

+0

この機能の良いサンプル - http://jsfiddle.net/olli/4rQRb/ – RredCat

+1

pageshowは1.4で廃止され、1.5では削除されました。 注:このイベントのトリガーは、jQuery Mobile 1.4.0以降では推奨されていません。これは1.5.0ではもう起動しません。 pageshowの代わりに、pagecontainerウィジェットのpagecontainershowイベントがあります。 jQuery Mobile 1.4.0では、その名前とpagecontainershowがpagecontainer上でトリガーされるという点を除いて、2つのイベントは同じですが、pageshowはページ上でトリガーされます。 – John

関連する問題