【问题标题】:How to work with nested lists in iScroll / protect outer scrolling on inner scroll action?如何在 iScroll 中使用嵌套列表/保护内部滚动动作的外部滚动?
【发布时间】:2015-06-09 09:17:36
【问题描述】:

我想要一个可滚动的容器,它承载带有 iScroll4 的可滚动列表。我让一切都靠自己运行:

http://jsfiddle.net/BH2F3/

(预览版无法使用,请下载本地试用)

现在的问题是:

当我对列表执行滚动操作时,外部容器也会滚动。如何保护外部容器不滚动并仅将滚动操作应用于嵌套列表?我已经尝试“捕捉”到列表但没有成功。我必须绑定到“onBeforeScrollStart”吗?

官方实现是:onBeforeScrollStart: function (e) { e.preventDefault(); },所以我希望外部容器不会滚动。

【问题讨论】:

    标签: javascript iscroll


    【解决方案1】:

    刚刚发现:

    这不是默认预防的问题,而是事件冒泡。

    解决方案是覆盖 onBeforeScrollStart !

                onBeforeScrollStart: function (e) { 
                e.preventDefault();
                e.stopPropagation();
                },
    

    【讨论】:

      【解决方案2】:

      对于当前版本,事件beforeScrollStart 没有参数event。这可以通过这种方式完成:

      iscroll.on('beforeScrollStart', function() {
          scroll.disable();
      });
      iscroll.on('scrollEnd', function() {
          scroll.enable();
      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-30
        • 2016-10-08
        • 1970-01-01
        • 2018-12-07
        相关资源
        最近更新 更多