-3

最初の読み込み後にページを更新しないと js が機能せず、div の background-img も表示されません。コード: <a data-role="button" data-icon="plue" href="register.jsp" data-transition="pop">register</a> data-ajax='false' を設定すると js と css は正常にロードできますが、トランジションが必要です

4

1 に答える 1

0

AJAX がオンになっている場合、jQM はページ全体をロードせず、ページをフェッチしてから head タグ内のすべてを取り除きます。彼らの論理は、このようなものはアプリケーション全体で一貫性を保つため、ダウンロードを減らし、読み込み時間を短縮するために、それを削除し、HTML を解析して新しいページとして挿入するというものです (これが、ハッシュタグ ナビゲーションも取得する理由です)。

また、AJAX が実行されている場合、jQM はページ内にある JS を実行しません。したがって、onClick="SomeJS();"このようなことをしている場合は実行されません。とにかく一般的にjQueryでやるべきではありません。

それを回避し、すべてのページにない要素の JS エラーを防ぐために、次のようなことを始めました。

body タグの直後に、ラッパーの DIV またはセクション (スマートフォンは HTML5 をよく読み取るため) を id または個別のクラスとともに配置し、data-role="page" 属性を追加します。

<body>
<div id="page1" data-role="page">
... page content ...
</div>
</body>

すべての JS を 1 つのファイルに保持するか、すべてのページですべてのファイルを参照します。実行する必要があるページ固有のスクリプトがある場合は、次のようにラップします。

$('#page1').live('pageshow', function() {
//do what you need to do
});

うまくいけば、それは役に立ちます。

于 2012-04-04T17:55:14.793 に答える