2011-10-11 5 views

答えて

13

aboutPageは、ページのIDである必要があります(つまり、data-role="page")。 live()は、alertを含む定義済みファンクションをpageinitイベントに添付します(aboutPage)。ページが初期化されると、ページ上でpageinitがトリガーされます。

だから、短期的にどのようなコードがないことaboutPageが、それも前view.Soにない場合でも、ページが初期化される可能性があります

に初期化されるとき、それは、警告文を実行します

ですそのページに移動すると、divのpageinitがトリガーされます。新しいページとして別のhtmlファイルをロードしている場合は、そのページを表示するときにのみ、そのページのpageinitがトリガーされます。あなたの部門が見えるときに何かをするには、 e pagebeforeshowおよびpageshowpagebeforeshowは、アニメーションが開始する前に新しいページでトリガーされ、アニメーションが終了した後にpageshowにトリガーされます。

+0

それは私が推測したもので、data-role = "page"を使ってdivのpageinitイベントに接続しようとしましたが、何らかの理由でページに初めて移行するときにメソッドが呼び出されません。私がリフレッシュするとメソッドが呼び出されます。 –

+0

これについて説明する答えを編集しました。役立ちます。 – user700284

+3

それを考え出した。すべてのページには、 '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 –

関連する問題