我在我的 jQuery 移动项目中没有正确初始化 iScroll 时遇到问题。iScroll 插件仅在一个子页面中使用,以允许在大图像上水平滚动(需要使其在 Android 上工作,因为他们的浏览器不支持开箱即用)...
如果您直接访问 URL,或者手动刷新它,该插件可以正常工作。但是,当您从另一个起点通过菜单访问它时,它就不起作用了。我猜这与 jQuery mobile 中的 ajax 加载有关,但是将 data-ajax="false" 设置为链接不是一个选项,因为我需要整个事情作为主屏幕应用程序也能正常工作iOs(由于某种奇怪的原因,带有 data-ajax="false" 的链接会在新的 Safari 窗口中打开)。
在头部标签中:
<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 正确初始化?