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