私は次のようなことを理解しようとしていますjQuery Mobile例。jQueryモバイル - ページイベントへのバインド
$('#aboutPage').live('pageinit',function(event){
alert('This page was just enhanced by jQuery Mobile!');
});
ここでは#aboutPage
とは何ですか。オブジェクトは何ですか?pageinit
はバインドされていますか?
私は次のようなことを理解しようとしていますjQuery Mobile例。jQueryモバイル - ページイベントへのバインド
$('#aboutPage').live('pageinit',function(event){
alert('This page was just enhanced by jQuery Mobile!');
});
ここでは#aboutPage
とは何ですか。オブジェクトは何ですか?pageinit
はバインドされていますか?
aboutPage
は、ページのIDである必要があります(つまり、data-role="page"
)。 live()
は、alert
を含む定義済みファンクションをpageinit
イベントに添付します(aboutPage
)。ページが初期化されると、ページ上でpageinit
がトリガーされます。
だから、短期的にどのようなコードがないことaboutPage
が、それも前view.Soにない場合でも、ページが初期化される可能性があります
に初期化されるとき、それは、警告文を実行します
ですそのページに移動すると、divの
pageinit
がトリガーされます。新しいページとして別のhtmlファイルをロードしている場合は、そのページを表示するときにのみ、そのページのpageinit
がトリガーされます。あなたの部門が見えるときに何かをするには、 epagebeforeshow
およびpageshow
。pagebeforeshow
は、アニメーションが開始する前に新しいページでトリガーされ、アニメーションが終了した後にpageshow
にトリガーされます。
それは私が推測したもので、data-role = "page"を使ってdivのpageinitイベントに接続しようとしましたが、何らかの理由でページに初めて移行するときにメソッドが呼び出されません。私がリフレッシュするとメソッドが呼び出されます。 –
これについて説明する答えを編集しました。役立ちます。 – user700284
それを考え出した。すべてのページには、 'pageshow'イベントに接続するためのJavaScriptがあります。しかし、私はdata-role = pageでdivをロードするだけの$ .mobile.changePageを使用していました。そのページ(インラインJavaScriptを含む)には何も実行されません。ここでは私を助けた答えですhttp://stackoverflow.com/questions/7449402/jquery-mobile-mobile-changepage-not-loading-external-js-files/7449731#7449731 –