0

ページをリロードしたり、jQuery Mobile ハッシュ URL に直接移動したりしても、pageinit は 1 回も起動されません。たとえば、セカンダリ ページでこれを試してみました。

    $(function () {
        $(page).bind('pageinit', function () {
            console.log('bind pageinit');
        });
        $(document).on('pagecreate', page, function () {
            console.log('pagecreate');
        });
        $(document).on('pageshow', page, function () {
            console.log('pageshow');
        });
        $(document).on('pageinit', page, function () {
            console.log('pageinit');
        });
    });

1 ページ目でクリックして 2 ページ目に移動すると、上記のライフサイクルがコンソールに書き込まれます。URL には #two も追加されています。これは素晴らしいことですが、別のマシンでリンクに移動すると、ページの初期化が起動しません。ボタンのクリックだけがページの初期化をトリガーできるようです。

ここにライブの例があります: http://dl.dropbox.com/u/5986646/jqm-pageinit.html。これを URL に貼り付けても、イベントはトリガーされません: http://dl.dropbox.com/u/5986646/jqm-pageinit.html#two (ハッシュ URL に注意してください)。

4

1 に答える 1

3

はい、同じ問題がありました。

ページ初期化でいくつかの JavaScript コードを実行するには、次の構造を使用します。

$(document).bind("mobileinit", function(){
    $('#mainPage').live('pageshow', function(){
        // Some Javascript code
    });
});

これで、ページが呼び出されたときはいつでもコードを実行できます。

于 2012-08-27T06:59:06.593 に答える