1

複数ページのテンプレートを使用して、PhoneGap と jQueryMobile のプロジェクトがあります。ホームページpageshowpageinit、、、、イベントpagecreatepagebeforeshow発生しません。考えられる解決策をいくつか試しました。

解決策 1:

$('#home').on("pageshow", function(e) { ... }

このソリューションでは、2 番目のページに変更してホームページに戻ると、イベントが発生しますが、アプリケーションが初めて読み込まれるときは発生しません。

解決策 2:

var selector = ':jqmData(role=page)';
$('body').on("pageshow", selector,function(e) { ... }

ここから解決策 2 を入手しましたが、うまくいきません。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

最後に、これに対する解決策を見つけました。最初に別のページを作成し、これを $.mobile.changePage('#home',{transition:'none'}) でホームページにリダイレクトします。このページはすべての init 関数を作成します。

これにより、ホームページはすべてのイベントを発生させます。

于 2012-10-08T12:07:01.280 に答える
0

pagebeforeshow、、pageshowおよびその他のコレクションは、アプリケーションの起動中に最初のページが遷移したときに空になります。

アプリケーションの起動時に最初のページがトランジションされると、このコレクションは空になることに注意してください。

ドキュメントを読んでください:http://jquerymobile.com/test/docs/api/events.html

于 2012-09-19T16:31:55.370 に答える