3

このは問題を正確に示しているわけではありません。たとえば、ページ 2 をクリックすると、コンテンツが div に読み込まれません。ページ 2 のコンテンツを表示するには、ページを更新する必要があります。

PS : 同じコードが他のページに複製されています。

コード :

$(document).ready(function() {
    $('.content-primary').html("Content of page 1"); // This line just in this example
    //$(".content-primary").load("content-of-page.php"); // but I used this code on all my pages 
});
4

1 に答える 1

3

これは jQuery Mobile でよくある問題です。

jQM で document ready を使用しないでください。代わりに、jQM がページ イベントを提供します。問題はドキュメントの準備ができているかどうかであり、通常はページが DOM にロードされる前にトリガーされます。それが更新が役立つ理由です。その時点でページはすでに読み込まれています。

私はあなたに実用的な例を作りました: http://jsfiddle.net/Gajotres/8hKe2/

$(document).on('pagebeforeshow', '#foo', function(){       
    alert('This is foo');
});

$(document).on('pagebeforeshow', '#bar', function(){       
    alert('This is bar');
});

基本的に、各ページ イベントは、そのページ専用の JavaScript コードをトリガーします。コードを 1 回だけ実行する場合は、次のように、pagebeforeshow の代わりに pageinit イベントを使用する必要があります。

$(document).on('pageinit', '#foo', function(){       
    alert('This is foo');
});

$(document).on('pageinit', '#bar', function(){       
    alert('This is bar');
});

もっと知りたい場合は、私の他の記事/回答をご覧ください: https://stackoverflow.com/a/14469041/1848600

于 2013-04-05T14:47:16.430 に答える