iScroll左右滑动的时候,阻止了内容的上下滑动 e.preventDefault() 解决办法

本文介绍了一个框架在使用过程中可能导致的浏览器滚动行为被阻止的问题,并提供了解决方案。通过修改框架的 onBeforeScrollStart 函数、在 _move 方法中添加条件判断以及调整 lockDirection 设置,可以实现对特定滚动范围内的事件进行阻止,默认滚动行为得以恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很不错的一个框架!不过此框架会阻止浏览器的默认行为,如左右滑动的时候,这个时候会阻止上下滑动

这样对很多文章内容页相对较长的页面显然不适用,修改如下

1:在onBeforeScrollStart: function (e) { e.preventDefault(); }, 修改为onBeforeScrollStart: null,

2:在_move方法里增加(大小可根据需要自行修改)

if(newY>=-10 && newY<=10){e.preventDefault();}

3.lockDirection  设置为true(正常默认就是为true,可不用修改)

 

注意点:要注意在自己的脚本里面没有对全局的移动事件进行阻止默认事件,如

document.addEventListener('touchmove', function (e) {
//  
//  //取消事件的默认动作
//  e.preventDefault();
//  
// }, false);

如果在外层有这个事件,那你插件里面怎么改可能都没用。(本人就吃过亏)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值