0

Phonegap と JQuery Mobile フレームワークに基づくアプリケーションで開発しようとしています。

ページとサブページを別々の HTML ファイルとして作成しました。

index.html ファイルの本体部分は次のようになります。

<div data-role="page" id="p1" **data-theme="e"**>
<div data-role="header">App Name</div>
<div data-role="content" class="fit-content"><br/>
<ul data-role="listview" data-inset="true" data-filter="true"  data-icon="star" data-iconpos="right" data-transition="slide">
<li><a href="page2.html#p2" rel="external">Link1</a></li>
<li><a href="page3.html#p3" rel="external">Link2</a></li>
</ul></div></div>

page2.html ファイルの本体部分は次のようになります。

<div data-role="subpage" id="p2" **data-theme="e"**>
<div data-role="header">Places</div>
<div data-role="content" class="fit-content"><br/>
<ul data-role="listview" data-inset="true" data-filter="true"  data-icon="star" data-iconpos="right" data-transition="slide">
<li><a href="index.html#p1" rel="external">Go Back</a></li>
</ul></div></div>

data-theme="e" は index.html に正常に適用されていますが、page2.html には適用されていません。誰かがこの動作の理由を教えてください..?

私は JQuery 1.8.3 と JQuery Mobile 1.2.1 バージョンを使用しており、両方の HTML ファイル (例: / android_asset /www/css /jquery.mobile-1.2.1. css、例: /android_asset/www/js /jquery-1.8.3.js/)

  • また、私の心に残っている別の質問は、page2.html の本文コンテンツを index.html と同じ HTML ファイルにサブページとして保持すると、Link1 の CLICK イベントを呼び出すことができないということです。Link1 をクリックすると、 href-"page2.html#p2" の代わりにhref ="#p2"を指定しても、Page2.html にリダイレクトされません。
4

1 に答える 1

1

index.htmlのリスト区切りにdata-ajax="false"を指定します。これは、URL の Ajax ハッシュを消去するために、フレームワークにページ全体のリロードを行うように指示します。このリンクに従って、

Ajax ページはハッシュ (#) を使用して Ajax の履歴を追跡しますが、複数の内部ページはハッシュを使用して内部ページを示すため、競合が発生するため、data-ajax="false"を提供することは重要です。

また、data-role="subpage" の名前を data-role="page" に変更します。これがこの問題の解決策です。

于 2013-09-05T09:53:32.317 に答える