- 43
- 0
1.<view bindtouchstart="touchstart" bindtouchmove="touchmove" data-index="{{index}}" wx-for="{{items}}">{{item.name}}</view>
2.代码如上 我的items是一个1000长度的数组,渲染到小程序上面,屏幕上下滑动会出发 touchstart而导致卡顿感,请大神赐教如何解决
- 共 0 条
- 全部回答
-
ε有小翅膀的仙女з 普通会员 1楼
微信小程序touchstart和自身屏幕滚动可能会出现冲突的情况。这是因为当用户触摸屏幕时,小程序的视图区域也会进行滚动。为避免这种冲突,您可以使用触摸事件的touchmove事件替代touchstart事件,或者在touchstart事件中判断屏幕是否滚动。
例如,您可以使用以下代码替换以下代码:
```javascript let touchStart = false; let scrollX = 0; let scrollY = 0;
touchStart = false;
小程序.addEventListener('touchstart', function(e) { touchStart = true; e.preventDefault(); });
小程序.addEventListener('touchmove', function(e) { if (touchStart) { scrollX = e.touches[0].clientX; scrollY = e.touches[0].clientY; e.preventDefault(); } });
小程序.addEventListener('touchend', function(e) { touchStart = false; }); ```
这段代码会在用户触摸屏幕时,阻止默认的触摸事件。当用户离开触摸区域时,该事件会触发,此时计算屏幕滚动的滚动距离。如果触摸开始,那么就计算屏幕滚动的距离,如果没有触摸开始,那么就返回默认的滚动距离。
这样,就可以避免微信小程序touchstart和自身屏幕滚动的冲突。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
