jQuery モバイル プロジェクトで iScroll が正しく初期化されないという問題があります。iScroll プラグインは、1 つのサブページでのみ使用されており、大きな画像で水平スクロールを可能にします (Android のブラウザーはそのままではサポートしていないため、Android で動作させる必要があります)...
URL に直接アクセスするか、手動で更新すると、プラグインは正しく機能します。しかし、別の開始点からメニューからアクセスすると、機能しません。これは jQuery モバイルでの ajax の読み込みと関係があると推測していますが、リンクに data-ajax="false" を設定することはオプションではありません。 iOS (data-ajax="false" を含むリンクが、奇妙な理由で新しい Safari ウィンドウで開きます)。
head タグ内:
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js
</script>
<script type="application/javascript" src="js/iscroll.js"></script>
<script type="text/javascript">
var myScroll;
function loaded() {
setTimeout(function () {
myScroll = new iScroll('wrapper');
refresh();
}, 100);
}
window.addEventListener('load', loaded, false);
</script>
コンテンツ セクション:
<div data-role="content">
<div id="wrapper">
<div id="scroller">
<img src="images/turkart.png" />
</div>
</div>
</div>
ロード後に実際のページを強制的に更新する方法はありますか、または iScroll を強制的に正しく初期化する方法はありますか?