iscroll嵌套着iscroll

起初是最外框用iscroll滚动,文本框里的滚动条没有操作反应,于是给文本框也添加iscroll实例化。这时候发现
iscroll嵌套着iscroll,当滑动文本框时,最外框也跟着同步滚动,请问怎么写才能不触发最外框iscroll操作。
或者怎么弄让外框和文本框各滚各的?
图片描述

阅读 6k
评论
    4 个回答
    • 4.6k

    我也遇到了这样的问题,不过在 iscrollissue 上已有解答方案,亲测有效,基本思路:

    const innerScroll = new IScroll($inner, {
        ouseWheel: true,
        tap: false,
        scrollbars: true,
        interactiveScrollbars: true,
        preventDefault: true,
        mouseWheel: true
    });
    
    // 滚动时禁用外层滚动,内层滚到顶或滚到底重新启用外层滚动,滚动结束也重新启用外层滚动
    innerScroll .on('scrollStart', function () {
        if ((this.directionY === 1 && this.y === this.maxScrollY) || (this.directionY === -1 && this.y === 0)) {
            outScroll && outScroll.enable();
        } else {
            outScroll && outScroll.disable();
        }
    });
    
    innerScroll .on('scrollEnd', function () {
        outScroll&& outScroll.enable();
    });

    参考 githubissue

      相似问题
      推荐文章