Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中将父方法包装到私有函数中时如何调用方法_Javascript_Iscroll4 - Fatal编程技术网

在javascript中将父方法包装到私有函数中时如何调用方法

在javascript中将父方法包装到私有函数中时如何调用方法,javascript,iscroll4,Javascript,Iscroll4,我不确定我的问题措辞是否正确,但无论如何 我正在使用iscroll,并将iscroll init调用包装在一个私有函数中,以供以后使用。这就是我所拥有的: Namespace.iscroll = function () { var myScroll; myScroll = new iScroll('mainContent-wrap', { hScrollbar: false }); document.addEvent

我不确定我的问题措辞是否正确,但无论如何

我正在使用iscroll,并将iscroll init调用包装在一个私有函数中,以供以后使用。这就是我所拥有的:

 Namespace.iscroll =  function () {
        var myScroll;
      myScroll = new iScroll('mainContent-wrap', { 
          hScrollbar: false 
       });

    document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
    document.addEventListener('DOMContentLoaded', Namespace.iscroll, false);
};
我使用
Namespace.iscroll()在需要的任何页面上调用iscroll

我的问题是,现在我想使用
myScroll.refresh()刷新iScroll,或使用iScroll文档中描述的
设置超时
功能


由于我将原始的init调用包装在一个私有函数中,因此如何在其上运行刷新和其他方法(如destroy?

如果在运行
iscroll
函数后试图访问
myScroll
变量,答案是您不能。它在那一点上消失了。你必须把它保存在别的地方,这样你才能找到它。一个想法是将其放在与
iscroll
相同的对象上,如下所示:

Namespace.iscroll = function () {
    Namespace.myScroll = new iScroll('mainContent-wrap', {
        hScrollbar: false
    });

    document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
    document.addEventListener('DOMContentLoaded', Pelau.iscroll, false);
};
Namespace.myScroll.refresh();
然后,您可以像这样执行refesh:

Namespace.iscroll = function () {
    Namespace.myScroll = new iScroll('mainContent-wrap', {
        hScrollbar: false
    });

    document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
    document.addEventListener('DOMContentLoaded', Pelau.iscroll, false);
};
Namespace.myScroll.refresh();
关键是将myScroll存储在某个持久的公共位置,而该位置不是临时的局部变量