iscroll嵌套着iscroll

发布于 2022-09-01 12:41:02 字数 256 浏览 14 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月光色 2022-09-08 12:41:02

楼主是不是把默认的滚动事件给禁止了。
如果你禁止了默认的滚动事件这个时候文本内容溢出的时候,你滚动确实没有效果。
个人认为只要文本框不是作为外面第一个滚动的div的一级子元素实现各执滚动式ok的。但是你要有两个实例化的对象,他们两者不能共用一个,且文本框的有一个父元素,和第一个滚动的div一样。

别挽留 2022-09-08 12:41:02

在内部iscroll滚动时候设置阻止事件冒泡,外层捕获不到就可以了

想你的星星会说话 2022-09-08 12:41:02

我也遇到了这样的问题,不过在 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

菩提树下叶撕阳。 2022-09-08 12:41:02

请原谅我迟来的回答,JRoll实现了嵌套滑动,请看http://www.chjtx.com/JRoll/de...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文