在jquerymobile中使用iscroll

在jquerymobile中使用iscroll,jquery,jquery-mobile,iscroll4,Jquery,Jquery Mobile,Iscroll4,我目前正在努力让iscroll 4与jQuery Mobile一起工作 如果我禁用jqmajax默认导航,一切都很好,但我希望保留这一点 我的问题是我无法解决如何成功调用/绑定iscroll,因此它可以处理需要它们的页面。我尝试了pageinit()和pagecreate()但没有成功 非常感谢任何指点 A.我在页面show和方向更改事件上初始化/刷新iScroll实例。我在想要滚动的data role=“content”divs上设置了一个类(在本例中,我使用了.content类) 在我加载最

我目前正在努力让iscroll 4与jQuery Mobile一起工作

如果我禁用jqmajax默认导航,一切都很好,但我希望保留这一点

我的问题是我无法解决如何成功调用/绑定iscroll,因此它可以处理需要它们的页面。我尝试了pageinit()和pagecreate()但没有成功

非常感谢任何指点


A.

我在
页面show
方向更改
事件上初始化/刷新iScroll实例。我在想要滚动的
data role=“content”
divs上设置了一个类(在本例中,我使用了
.content
类)


在我加载最后一个脚本之前加载iscroll js了吗。如果您在初始化iScroll实例时遇到困难,请确保在iScroll站点上遵循该示例。iScoll只滚动您调用它的元素的直接子元素。我可以让它工作,但不使用jqmajax导航。i、 如果我到了那一页,我的卷子就坏了。如果我刷新该页面,它工作正常(可能是因为它再次读取了所有的js),目前iscroll js仍然位于html的头部,而不是jsHi中的任何页面事件中,下面是一个非常粗略的问题示例(真实站点中还有数千个页面)您正在绑定到
DOMContentLoaded
事件,该事件仅在加载初始页面时触发(而不是在通过ajax导航拉入的页面上),并且您希望绑定到以下内容之一:
pageshow
pagecreate
pageinit
。查看上面绑定到
pageshow
事件的示例,然后在该事件处理程序中检查iScroll实例是否存在(如果存在,则刷新它),或者如果实例不存在,则创建它。以下是解释每个事件的链接:。
var myScroll = [];
$(document).delegate('[data-role="page"]', 'pageshow', function () {
    if ($.mobile.activePage.find('.content').length > 0) {
        if (this.id in myScroll) {
            myScroll[this.id].refresh();
        } else {
            myScroll[this.id] = new iScroll($.mobile.activePage.find('.content')[0].id, {
                hScroll        : false,
                vScroll        : true,
                hScrollbar     : false,
                vScrollbar     : true,
                fixedScrollbar : true,
                fadeScrollbar  : false,
                hideScrollbar  : false,
                bounce         : true,
                momentum       : true,
                lockDirection  : true
            });
        }
    }
});

$(window).bind('orientationchange', function () {
    if ($.mobile.activePage[0].id in myScroll) {
        myScroll[$.mobile.activePage[0].id].refresh();
    }
});