JQM (jQuery モバイル) がページをロードするとき、これを達成するために ajax を使用します。これが発生すると、セクション内のすべてのコード<head>
が無視されます。JQM は data-role="page" 部分を探し、index.html と同じ dom に挿入します。したがって、基本的には、js を index.html ページに追加するときに正しい方法で行っています。
特定のページで動作するように js コードを区分化する場合は、次の例を使用します。
$(document).on('pageinit', '#page1', function(){
// code for #page1
});
$(document).on('pageinit', '#page2', function(){
// code for #page2
});
$(document).on('pageinit', '[data-role=page]', function(){
// this code will execute for every page that is data-role="page"
});
それでは、すべてのコードを 1 つのファイルにまとめてください。上記のようにコードを適切なページに分割し、それを index.html ファイルに含めます。
また、JQM バージョン 1.0.1 を jQuery バージョン 1.6.4 (1.0.1 で推奨) で使用している場合は、.on() の代わりに .delegate() を使用します。すなわち
$(document).delegate('#page1', 'pageinit', function(){ // notice that pageinit and #page1 are switched around for delegate
// code for #page1
}); // interesting to note that if you use delegate in jQuery 1.7.x it actually just calls the .on() method.
注phonegap アプリの代わりに Web アプリケーションを作成する場合は、javascript をその 1 つのファイルに入れ、それをすべてのページに含めるのが賢明です。このようにして、誰かがリンクをたどったり、あなたのページをブックマークしたりした場合でも、必要な正しい JavaScript ファイルを取得できます。
とにかく、それがお役に立てば幸いです。幸運を!